Adiciona o domínio personalizado à aplicação e responde 201 Created com o novo domínio. A aplicação não é
reiniciada nem recebe um novo deploy. O domínio começa como pending até que os seus registros DNS sejam
resolvidos; consulte-os em Registros DNS do domínio. Exige o escopo
apps:write quando chamado com uma chave de API.Por padrão, a chamada também cria o domínio complementar automático: www.example.com quando você adiciona
example.com, ou example.com quando você adiciona www.example.com. O complementar redireciona para o domínio
que você adicionou com um 308, e não conta no limite de domínios do seu plano. Para qualquer outro subdomínio
(app.example.com) não há complementar.
O domínio a adicionar (por exemplo example.com ou api.example.com), com entre 1 e 253 caracteres. Ele é armazenado
em minúsculas. Envie somente o hostname: um esquema, um caminho ou uma porta são rejeitados com
INVALID_CUSTOM_DOMAIN_FORMAT. Domínios que pertencem à Vertra Cloud são rejeitados com FORBIDDEN_DOMAIN.
Se o complementar automático www (ou raiz) deve ser criado. Envie false para adicionar somente o hostname enviado.
Não tem efeito em subdomínios diferentes de www, e é ignorado quando redirect_to está definido.
A porta da aplicação que atende este domínio, um inteiro de 1 a 65535. Uma aplicação pode atender os seus domínios
em até 5 portas diferentes além da 80; a sexta responde DOMAIN_PORT_LIMIT_REACHED. Um domínio que apenas
redireciona não usa porta.
Um caminho literal adicionado antes de cada requisição que o domínio encaminha para a aplicação: com /api, uma
requisição para https://api.example.com/users chega à aplicação como /api/users. Deve começar com /, não pode
terminar com /, tem até 128 caracteres e só pode conter letras, dígitos, ., _, ~ e - entre as barras
(por exemplo /api ou /v1/api). Recomendado para APIs: um site precisa ser construído para rodar sob esse caminho,
incluindo os seus assets e os próprios redirecionamentos.
O ID de outro domínio da mesma aplicação. O novo domínio passa a redirecionar cada requisição para esse domínio,
mantendo o caminho e a query string, em vez de servir a aplicação. O destino não pode redirecionar para si mesmo.
O status HTTP do redirecionamento: 301, 302, 307 ou 308. Só é usado junto com redirect_to. 301 e 308
são permanentes; 302 e 307 são temporários. 307 e 308 mantêm o método da requisição; 301 e 302 podem
transformar um POST em GET.
O domínio que você adicionou primeiro, seguido do seu complementar quando um foi criado. Cada item tem os campos
descritos em Listar domínios da aplicação.
Os domínios personalizados começam no plano Intermediary (1 domínio por aplicação) e crescem com o nível Enterprise.
O complementar automático nunca conta. Os limites de cada plano estão em
Planos e limites.
Despublicar a aplicação remove todos os seus domínios. Remover um domínio, manualmente, por despublicação ou pela
limpeza automática, nunca altera o seu DNS: apague os registros CNAME e TXT por conta própria, como explicado em
Remover domínio da aplicação.
O código de erro que indica o motivo da falha. Valores possíveis:
VALIDATION_ERROR: o parâmetro de caminho ou o corpo falhou na validação, por exemplo um campo desconhecido ou um tipo errado (400). A resposta também traz message e path.
INVALID_CUSTOM_DOMAIN_FORMAT: hostname não é um hostname público válido (400).
FORBIDDEN_DOMAIN: o domínio é reservado e não pode ser adicionado (400).
INVALID_DOMAIN_PORT: port não é um inteiro de 1 a 65535 (400).
INVALID_PATH_PREFIX: path_prefix não segue o formato descrito acima (400).
INVALID_REDIRECT_TARGET: redirect_to não é um domínio desta aplicação, não está active, ou o destino redireciona para si mesmo (400).
APP_NOT_PUBLISHED: a aplicação não está publicada na web; publique-a primeiro com Publicar aplicação na web (400).
AUTH_TOKEN_MISSING, API_KEY_INVALID, SESSION_REVOKED: o cabeçalho Authorization está ausente, a chave de API é inválida ou a sessão do painel foi revogada (401).
API_KEY_IP_DENIED: a chave de API está sendo usada a partir de um IP fora da sua lista de permissões (403).
USER_NOT_FOUND: não foi possível identificar o usuário autenticado (401).
ACCESS_DENIED: o usuário não tem permissão para atuar na aplicação (403).
API_KEY_SCOPE_DENIED: a chave de API não tem o escopo apps:write (403).
PLAN_REQUIRED: o dono da aplicação não tem um plano ativo (403).
PLAN_DOES_NOT_SUPPORT_CUSTOM_DOMAIN: o plano do dono não inclui domínios personalizados (403).
DOMAIN_LIMIT_REACHED: a aplicação já tem tantos domínios quanto o plano permite (403). details.limit traz o limite.
DOMAIN_PORT_LIMIT_REACHED: a aplicação já atende domínios em 5 portas além da 80 (403). details.limit traz o limite.
APP_NOT_FOUND: a aplicação especificada não existe (404).
DOMAIN_ALREADY_IN_USE: o hostname já está vinculado a uma aplicação (409).
RATE_LIMIT_EXCEEDED: foi atingido o orçamento de requisições da rota (429).
CUSTOM_DOMAIN_REGISTRATION_FAILED: o domínio não pôde ser registrado agora; tente novamente mais tarde (502).
Esta rota tem um orçamento próprio de 10 requisições por minuto. Veja Limite de requisições.
Última modificação em 28 de outubro de 2026
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Vertra Cloud","description":"Vertra Cloud is a Brazilian application hosting platform (PaaS): deploy from GitHub or a zip file, isolated containers, managed databases, file storage, snapshots, a CLI and a VS Code extension.","colors":{"primary":"#ff6100","light":"#ff7a24","dark":"#e65700"},"logo":{"light":"https://mintcdn.com/vertracloud/2O7-bfMOIoy6MCUx/logo/light.svg?fit=max\u0026auto=format\u0026n=2O7-bfMOIoy6MCUx\u0026q=85\u0026s=2fcb392041b562c0aab2f07ebef0f12e","dark":"https://mintcdn.com/vertracloud/2O7-bfMOIoy6MCUx/logo/light.svg?fit=max\u0026auto=format\u0026n=2O7-bfMOIoy6MCUx\u0026q=85\u0026s=2fcb392041b562c0aab2f07ebef0f12e"},"favicon":"https://mintcdn.com/vertracloud/2O7-bfMOIoy6MCUx/favicon.svg?fit=max\u0026auto=format\u0026n=2O7-bfMOIoy6MCUx\u0026q=85\u0026s=1bab95e4f8e35419e5901e69c7caa4b2","api":{"playground":{"display":"interactive"},"examples":{"defaults":"required","languages":["curl","javascript","python","go"]},"mdx":{"auth":{"method":"bearer"},"server":"https://api.vertracloud.app"}},"background":{"color":{"light":"#f7f7f6","dark":"#121212"}},"navbar":{"links":[{"href":"mailto:[email protected]","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://vertracloud.app/dashboard"}},"footer":{"socials":{"github":"https://github.com/vertracloud","instagram":"https://instagram.com/vertracloud","x":"https://x.com/vertracloud","youtube":"https://www.youtube.com/@vertracloud","discord":"https://discord.gg/vertracloud"}},"seo":{"metatags":{"og:site_name":"Vertra Cloud Docs","og:type":"website","og:image":"https://docs.vertracloud.app/images/og.png","twitter:card":"summary_large_image","twitter:image":"https://docs.vertracloud.app/images/og.png","description":"Vertra Cloud is a Brazilian application hosting platform (PaaS): deploy from GitHub or a zip file, isolated containers, managed databases, file storage, snapshots, a CLI and a VS Code extension."},"indexing":"navigable"},"fonts":{"family":"Geist"},"contextual":{"options":["copy","view","chatgpt","claude","mcp","cursor","vscode"],"display":"header"},"metadata":{"timestamp":true},"styling":{"latex":false},"navigation":{"languages":[{"language":"en","default":true,"href":""},{"language":"pt-BR","navbar":{"links":[{"href":"mailto:[email protected]","label":"Suporte"}],"primary":{"type":"button","label":"Dashboard","href":"https://vertracloud.app/dashboard"}},"href":"pt-br"},{"language":"es","navbar":{"links":[{"href":"mailto:[email protected]","label":"Soporte"}],"primary":{"type":"button","label":"Panel","href":"https://vertracloud.app/dashboard"}},"href":"es-es"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"vertracloud","hasAudioNarration":false,"actualSubdomain":"vertracloud","customDomains":["docs.vertracloud.app"],"gitSource":{"type":"github","owner":"vertracloud","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae51deb3bf34bcad38c5814","collectionId":"9f590012-0485-47b3-af80-9ffed670518c","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae51deb3bf34bcad38c5814"},"entitlements":{},"buildId":"6ae51f8fceb92005b37aba26","clientVersion":"0.0.4043","searchFilterCounts":[{"language":"en","tag":"API Reference","count":159},{"language":"es","tag":"Referencia de la API","count":159},{"language":"pt-BR","tag":"Referência da API","count":159},{"language":"en","tag":"Endpoints","count":156},{"language":"es","tag":"Endpoints","count":156},{"language":"pt-BR","tag":"Endpoints","count":156},{"language":"en","tag":"Templates","count":64},{"language":"es","tag":"Plantillas","count":64},{"language":"pt-BR","tag":"Templates","count":64},{"language":"es","tag":"Blob Storage","count":58},{"language":"pt-BR","tag":"Blob Storage","count":58},{"language":"en","tag":"Blob Storage","count":56},{"language":"en","tag":"Applications","count":46},{"language":"en","tag":"Changelog","count":46},{"language":"es","tag":"Aplicaciones","count":46},{"language":"es","tag":"Changelog","count":46},{"language":"pt-BR","tag":"Aplicações","count":46},{"language":"pt-BR","tag":"Changelog","count":46},{"language":"en","tag":"v26","count":35},{"language":"es","tag":"v26","count":35},{"language":"pt-BR","tag":"v26","count":35},{"language":"en","tag":"Blob API reference","count":30},{"language":"es","tag":"Referencia de la API de Blob","count":30},{"language":"pt-BR","tag":"Referência da API do Blob","count":30},{"language":"en","tag":"Workspaces","count":26},{"language":"en","tag":"Tutorials","count":26},{"language":"es","tag":"Workspaces","count":26},{"language":"es","tag":"Tutoriales","count":26},{"language":"pt-BR","tag":"Workspaces","count":26},{"language":"pt-BR","tag":"Tutoriais","count":26}]},"assistantConfig":{},"basePath":"","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":"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":"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":"byok-sep-25","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":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","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}],"googleFontsInlined":true},"customCss":[{"filePath":"style.css","content":":root{--gray-50:247 247 246;--gray-100:241 241 240;--gray-200:230 230 228;--gray-300:211 211 209;--gray-400:162 162 162;--gray-500:115 115 115;--gray-600:83 83 83;--gray-700:61 61 61;--gray-800:42 42 42;--gray-900:26 26 26;--gray-950:13 13 13}.vc-home{--vc-orange:#ff6100;--vc-orange-strong:#e65700;--vc-paper:#f7f7f6;--vc-surface:#ffffff;--vc-ink:#141414;--vc-ink-2:#3d3d3d;--vc-muted:#737373;--vc-line:#e6e6e4;color:var(--vc-ink)}.dark .vc-home{--vc-orange-strong:#ff7a24;--vc-paper:#121212;--vc-surface:#1a1a1a;--vc-ink:#f4f4f4;--vc-ink-2:#c6c6c6;--vc-muted:#8e8e8e;--vc-line:#2a2a2a}.vc-hero,.vc-hero-inner{display:flex;flex-direction:column;box-sizing:border-box;margin:0}.vc-hero{min-height:calc(100dvh - 120px);overflow:hidden;border-bottom:1px solid var(--vc-line);background-color:var(--vc-paper)}.vc-hero-inner{flex:0 0 auto;justify-content:center;max-width:40rem;padding:2.75rem 1.25rem 1.75rem;text-align:left}.vc-hero h1{margin:0;color:var(--vc-ink);font-size:clamp(2.15rem,.85rem + 1.9vw,3.15rem);font-weight:600;line-height:1.02;letter-spacing:-.045em;text-wrap:balance}.vc-hero-copy{max-width:36rem;margin:1.15rem 0 0;color:var(--vc-ink-2);font-size:1.05rem;line-height:1.55;text-wrap:pretty}.vc-actions{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:.75rem;margin-top:1.75rem}.vc-btn{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:44px;padding:0 1.15rem;border-radius:.5rem;font-size:.92rem;font-weight:500;line-height:1;text-decoration:none!important;border:1px solid transparent;transition:background-color .18s cubic-bezier(.22,1,.36,1),border-color .18s cubic-bezier(.22,1,.36,1)}.vc-btn:focus-visible{outline:2px solid var(--vc-orange);outline-offset:2px}.vc-btn-primary{background:var(--vc-orange);color:#fff!important}.vc-btn-primary:hover{background:var(--vc-orange-strong)}.vc-btn-ghost{background:0 0;border-color:var(--vc-line);color:var(--vc-ink)!important}.vc-btn-ghost:hover{border-color:var(--vc-ink)}.vc-hero-art{flex:1 1 auto;min-height:240px;border-top:1px solid var(--vc-line);background:#f4efe4 url(/images/hero-pillar.webp) 70% 68%/cover no-repeat}@media (min-width:1024px){.vc-hero{flex-direction:row;align-items:stretch;min-height:calc(100dvh - 112px)}.vc-hero-inner{flex:.78 1 0;max-width:none;padding:4rem clamp(1.75rem,4vw,4.5rem)}.vc-hero-art{flex:1.22 1 0;min-height:0;border-top:0;border-left:1px solid var(--vc-line);background-position:72% 50%}}.vc-section{max-width:1040px;margin:0 auto;padding:4.5rem 1.5rem 0}.vc-section:last-of-type{padding-bottom:4.5rem}.vc-heading{max-width:620px;margin-bottom:1.75rem}.vc-kicker{color:var(--vc-orange);font:600 .72rem ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;text-transform:uppercase}.vc-heading h2{margin:.5rem 0 .6rem;color:var(--vc-ink);font-size:clamp(1.55rem,3vw,2.05rem);font-weight:700;letter-spacing:-.03em;text-wrap:balance}.vc-heading p{margin:0;color:var(--vc-muted);line-height:1.65}.vc-home .card{border-radius:.85rem;transition:border-color .18s ease,transform .18s ease}.vc-home a.card:hover{border-color:rgba(255,97,0,.6)!important;transform:translateY(-2px)}.vc-chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.6rem}.vc-chip{display:flex;align-items:center;gap:.6rem;padding:.7rem .85rem;border:1px solid var(--vc-line);border-radius:.7rem;background:var(--vc-chip);color:var(--vc-ink)!important;font-size:.9rem;font-weight:500;text-decoration:none!important;transition:border-color .15s ease,transform .15s ease}.vc-chip:hover{border-color:rgba(255,97,0,.6);transform:translateY(-1px)}.vc-chip svg{flex-shrink:0}.vc-help{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}.vc-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;max-width:1040px;margin:4.5rem auto 0;padding:1.5rem 1.5rem 3rem;border-top:1px solid var(--vc-line);color:var(--vc-muted);font:.72rem ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.04em}.vc-footer a{color:var(--vc-ink)!important;text-decoration:none!important}.vc-footer a:hover{color:var(--vc-orange)!important}@media (max-width:760px){.vc-section{padding:3.25rem 1rem 0}}[data-component-part=language-switcher] [data-language=en] a::before{content:'🇺🇸 '}[data-component-part=language-switcher] [data-language=pt-BR] a::before{content:'🇧🇷 '}[data-component-part=language-switcher] [data-language=es] a::before{content:'🇪🇸 '}"}],"page":{"pagePath":"pt-br/api-reference/endpoint/apps/domains/create","slug":"/pt-br/api-reference/endpoint/apps/domains/create","pageMetadata":{"title":"Adicionar domínio à aplicação","sidebarTitle":"Adicionar domínio","api":"POST https://api.vertracloud.app/v1/apps/{id}/domains","authMethod":"bearer","description":"Adiciona um domínio personalizado a uma aplicação publicada, sem redeploy, com www, porta, prefixo de caminho e redirecionamento opcionais.","href":"/pt-br/api-reference/endpoint/apps/domains/create"},"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: \"Adiciona um domínio personalizado a uma aplicação publicada, sem redeploy, com www, porta, prefixo de caminho e redirecionamento opcionais.\"\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={a:`a`,code:`code`,li:`li`,p:`p`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Heading,Note,ParamField,ResponseField}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);if(!ResponseField)_missingMdxReference(`ResponseField`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Adiciona o domínio personalizado à aplicação e responde `,_jsx(_components.code,{children:`201 Created`}),` com o novo domínio. A aplicação não é\nreiniciada nem recebe um novo deploy. O domínio começa como `,_jsx(_components.code,{children:`pending`}),` até que os seus registros DNS sejam\nresolvidos; consulte-os em `,_jsx(_components.a,{href:`/pt-br/api-reference/endpoint/apps/domains/dns`,children:`Registros DNS do domínio`}),`. Exige o escopo\n`,_jsx(_components.code,{children:`apps:write`}),` quando chamado com uma chave de API.`]}),`\n`,_jsxs(_components.p,{children:[`Por padrão, a chamada também cria o domínio complementar automático: `,_jsx(_components.code,{children:`www.example.com`}),` quando você adiciona\n`,_jsx(_components.code,{children:`example.com`}),`, ou `,_jsx(_components.code,{children:`example.com`}),` quando você adiciona `,_jsx(_components.code,{children:`www.example.com`}),`. O complementar redireciona para o domínio\nque você adicionou com um `,_jsx(_components.code,{children:`308`}),`, e `,_jsx(_components.strong,{children:`não conta`}),` no limite de domínios do seu plano. Para qualquer outro subdomínio\n(`,_jsx(_components.code,{children:`app.example.com`}),`) não há complementar.`]}),`\n`,_jsx(ParamField,{path:`id`,type:`string`,required:true,id:`param-id`,children:_jsxs(_components.p,{children:[`O ID da aplicação. A aplicação precisa estar publicada na web (ela precisa de um subdomínio `,_jsx(_components.code,{children:`*.vertraweb.app`}),`).`]})}),`\n`,_jsx(ParamField,{query:`workspace_id`,type:`string`,id:`param-workspace-id`,children:_jsx(_components.p,{children:`Se a aplicação pertencer a um workspace, o ID do workspace. Obrigatório para membros do workspace que atuam em uma aplicação que não é deles.`})}),`\n`,_jsx(ParamField,{body:`hostname`,type:`string`,required:true,id:`param-hostname`,children:_jsxs(_components.p,{children:[`O domínio a adicionar (por exemplo `,_jsx(_components.code,{children:`example.com`}),` ou `,_jsx(_components.code,{children:`api.example.com`}),`), com entre 1 e 253 caracteres. Ele é armazenado\nem minúsculas. Envie somente o hostname: um esquema, um caminho ou uma porta são rejeitados com\n`,_jsx(_components.code,{children:`INVALID_CUSTOM_DOMAIN_FORMAT`}),`. Domínios que pertencem à Vertra Cloud são rejeitados com `,_jsx(_components.code,{children:`FORBIDDEN_DOMAIN`}),`.`]})}),`\n`,_jsx(ParamField,{body:`www`,type:`boolean`,default:`true`,id:`param-www`,children:_jsxs(_components.p,{children:[`Se o complementar automático `,_jsx(_components.code,{children:`www`}),` (ou raiz) deve ser criado. Envie `,_jsx(_components.code,{children:`false`}),` para adicionar somente o hostname enviado.\nNão tem efeito em subdomínios diferentes de `,_jsx(_components.code,{children:`www`}),`, e é ignorado quando `,_jsx(_components.code,{children:`redirect_to`}),` está definido.`]})}),`\n`,_jsx(ParamField,{body:`port`,type:`integer`,default:`80`,id:`param-port`,children:_jsxs(_components.p,{children:[`A porta da aplicação que atende este domínio, um inteiro de `,_jsx(_components.code,{children:`1`}),` a `,_jsx(_components.code,{children:`65535`}),`. Uma aplicação pode atender os seus domínios\nem até `,_jsxs(_components.strong,{children:[`5 portas diferentes além da `,_jsx(_components.code,{children:`80`})]}),`; a sexta responde `,_jsx(_components.code,{children:`DOMAIN_PORT_LIMIT_REACHED`}),`. Um domínio que apenas\nredireciona não usa porta.`]})}),`\n`,_jsx(ParamField,{body:`path_prefix`,type:`string`,id:`param-path-prefix`,children:_jsxs(_components.p,{children:[`Um caminho literal adicionado antes de cada requisição que o domínio encaminha para a aplicação: com `,_jsx(_components.code,{children:`/api`}),`, uma\nrequisição para `,_jsx(_components.code,{children:`https://api.example.com/users`}),` chega à aplicação como `,_jsx(_components.code,{children:`/api/users`}),`. Deve começar com `,_jsx(_components.code,{children:`/`}),`, não pode\nterminar com `,_jsx(_components.code,{children:`/`}),`, tem até 128 caracteres e só pode conter letras, dígitos, `,_jsx(_components.code,{children:`.`}),`, `,_jsx(_components.code,{children:`_`}),`, `,_jsx(_components.code,{children:`~`}),` e `,_jsx(_components.code,{children:`-`}),` entre as barras\n(por exemplo `,_jsx(_components.code,{children:`/api`}),` ou `,_jsx(_components.code,{children:`/v1/api`}),`). Recomendado para APIs: um site precisa ser construído para rodar sob esse caminho,\nincluindo os seus assets e os próprios redirecionamentos.`]})}),`\n`,_jsx(ParamField,{body:`redirect_to`,type:`string`,id:`param-redirect-to`,children:_jsx(_components.p,{children:`O ID de outro domínio da mesma aplicação. O novo domínio passa a redirecionar cada requisição para esse domínio,\nmantendo o caminho e a query string, em vez de servir a aplicação. O destino não pode redirecionar para si mesmo.`})}),`\n`,_jsx(ParamField,{body:`redirect_status`,type:`integer`,default:`308`,id:`param-redirect-status`,children:_jsxs(_components.p,{children:[`O status HTTP do redirecionamento: `,_jsx(_components.code,{children:`301`}),`, `,_jsx(_components.code,{children:`302`}),`, `,_jsx(_components.code,{children:`307`}),` ou `,_jsx(_components.code,{children:`308`}),`. Só é usado junto com `,_jsx(_components.code,{children:`redirect_to`}),`. `,_jsx(_components.code,{children:`301`}),` e `,_jsx(_components.code,{children:`308`}),`\nsão permanentes; `,_jsx(_components.code,{children:`302`}),` e `,_jsx(_components.code,{children:`307`}),` são temporários. `,_jsx(_components.code,{children:`307`}),` e `,_jsx(_components.code,{children:`308`}),` mantêm o método da requisição; `,_jsx(_components.code,{children:`301`}),` e `,_jsx(_components.code,{children:`302`}),` podem\ntransformar um `,_jsx(_components.code,{children:`POST`}),` em `,_jsx(_components.code,{children:`GET`}),`.`]})}),`\n`,_jsx(Heading,{level:`3`,id:`resposta`,children:`Resposta`}),`\n`,_jsx(ResponseField,{name:`response`,type:`APIApplicationDomain[]`,id:`param-response`,children:_jsxs(_components.p,{children:[`O domínio que você adicionou primeiro, seguido do seu complementar quando um foi criado. Cada item tem os campos\ndescritos em `,_jsx(_components.a,{href:`/pt-br/api-reference/endpoint/apps/domains/list#resposta`,children:`Listar domínios da aplicação`}),`.`]})}),`\n`,`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`Os domínios personalizados começam no plano `,_jsx(_components.strong,{children:`Intermediary`}),` (1 domínio por aplicação) e crescem com o nível Enterprise.\nO complementar automático nunca conta. Os limites de cada plano estão em\n`,_jsx(_components.a,{href:`/pt-br/plans-and-limits#quantos-dom%C3%ADnios-personalizados-e-portas-cada-plano-permite`,children:`Planos e limites`}),`.\nDespublicar a aplicação remove todos os seus domínios. Remover um domínio, manualmente, por despublicação ou pela\nlimpeza automática, nunca altera o seu DNS: apague os registros `,_jsx(_components.code,{children:`CNAME`}),` e `,_jsx(_components.code,{children:`TXT`}),` por conta própria, como explicado em\n`,_jsx(_components.a,{href:`/pt-br/api-reference/endpoint/apps/domains/delete`,children:`Remover domínio da aplicação`}),`.`]})}),`\n`,_jsx(Heading,{level:`3`,id:`respostas-de-erro`,children:`Respostas de erro`}),`\n`,_jsxs(ResponseField,{name:`code`,type:`string`,id:`param-code`,children:[_jsx(_components.p,{children:`O código de erro que indica o motivo da falha. Valores possíveis:`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`VALIDATION_ERROR`}),`: o parâmetro de caminho ou o corpo falhou na validação, por exemplo um campo desconhecido ou um tipo errado (`,_jsx(_components.code,{children:`400`}),`). A resposta também traz `,_jsx(_components.code,{children:`message`}),` e `,_jsx(_components.code,{children:`path`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`INVALID_CUSTOM_DOMAIN_FORMAT`}),`: `,_jsx(_components.code,{children:`hostname`}),` não é um hostname público válido (`,_jsx(_components.code,{children:`400`}),`).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`FORBIDDEN_DOMAIN`}),`: o domínio é reservado e não pode ser adicionado (`,_jsx(_components.code,{children:`400`}),`).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`INVALID_DOMAIN_PORT`}),`: `,_jsx(_components.code,{children:`port`}),` não é um inteiro de 1 a 65535 (`,_jsx(_components.code,{children:`400`}),`).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`INVALID_PATH_PREFIX`}),`: `,_jsx(_components.code,{children:`path_prefix`}),` não segue o formato descrito acima (`,_jsx(_components.code,{children:`400`}),`).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`INVALID_REDIRECT_TARGET`}),`: `,_jsx(_components.code,{children:`redirect_to`}),` não é um domínio desta aplicação, não está `,_jsx(_components.code,{children:`active`}),`, ou o destino redireciona para si mesmo (`,_jsx(_components.code,{children:`400`}),`).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`APP_NOT_PUBLISHED`}),`: a aplicação não está publicada na web; publique-a primeiro com `,_jsx(_components.a,{href:`/pt-br/api-reference/endpoint/apps/network/publish`,children:`Publicar aplicação na web`}),` (`,_jsx(_components.code,{children:`400`}),`).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`AUTH_TOKEN_MISSING`}),`, `,_jsx(_components.code,{children:`API_KEY_INVALID`}),`, `,_jsx(_components.code,{children:`SESSION_REVOKED`}),`: o cabeçalho `,_jsx(_components.code,{children:`Authorization`}),` está ausente, a chave de API é inválida ou a sessão do painel foi revogada (`,_jsx(_components.code,{children:`401`}),`).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`API_KEY_IP_DENIED`}),`: a chave de API está sendo usada a partir de um IP fora da sua lista de permissões (`,_jsx(_components.code,{children:`403`}),`).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`USER_NOT_FOUND`}),`: não foi possível identificar o usuário autenticado (`,_jsx(_components.code,{children:`401`}),`).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`ACCESS_DENIED`}),`: o usuário não tem permissão para atuar na aplicação (`,_jsx(_components.code,{children:`403`}),`).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`API_KEY_SCOPE_DENIED`}),`: a chave de API não tem o escopo `,_jsx(_components.code,{children:`apps:write`}),` (`,_jsx(_components.code,{children:`403`}),`).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`PLAN_REQUIRED`}),`: o dono da aplicação não tem um plano ativo (`,_jsx(_components.code,{children:`403`}),`).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`PLAN_DOES_NOT_SUPPORT_CUSTOM_DOMAIN`}),`: o plano do dono não inclui domínios personalizados (`,_jsx(_components.code,{children:`403`}),`).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`DOMAIN_LIMIT_REACHED`}),`: a aplicação já tem tantos domínios quanto o plano permite (`,_jsx(_components.code,{children:`403`}),`). `,_jsx(_components.code,{children:`details.limit`}),` traz o limite.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`DOMAIN_PORT_LIMIT_REACHED`}),`: a aplicação já atende domínios em 5 portas além da `,_jsx(_components.code,{children:`80`}),` (`,_jsx(_components.code,{children:`403`}),`). `,_jsx(_components.code,{children:`details.limit`}),` traz o limite.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`APP_NOT_FOUND`}),`: a aplicação especificada não existe (`,_jsx(_components.code,{children:`404`}),`).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`DOMAIN_ALREADY_IN_USE`}),`: o hostname já está vinculado a uma aplicação (`,_jsx(_components.code,{children:`409`}),`).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`RATE_LIMIT_EXCEEDED`}),`: foi atingido o orçamento de requisições da rota (`,_jsx(_components.code,{children:`429`}),`).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`CUSTOM_DOMAIN_REGISTRATION_FAILED`}),`: o domínio não pôde ser registrado agora; tente novamente mais tarde (`,_jsx(_components.code,{children:`502`}),`).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`INTERNAL_SERVER_ERROR`}),`: falha inesperada (`,_jsx(_components.code,{children:`500`}),`).`]}),`\n`]})]}),`\n`,`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`Esta rota tem um orçamento próprio de 10 requisições por minuto. Veja `,_jsx(_components.a,{href:`/pt-br/api-reference/introduction#como-a-api-tem-limite-de-taxa`,children:`Limite de requisições`}),`.`]})})]})}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":"Adicionar domínio à aplicação","sidebarTitle":"Adicionar domínio","api":"POST https://api.vertracloud.app/v1/apps/{id}/domains","authMethod":"bearer","description":"Adiciona um domínio personalizado a uma aplicação publicada, sem redeploy, com www, porta, prefixo de caminho e redirecionamento opcionais.","href":"/pt-br/api-reference/endpoint/apps/domains/create"}}},"mdxSourceWithNoJs":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Note,ParamField,ResponseExample,ResponseField}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);if(!ResponseExample)_missingMdxReference(`ResponseExample`,true);if(!ResponseField)_missingMdxReference(`ResponseField`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Adiciona o domínio personalizado à aplicação e responde `,_jsx(_components.code,{children:`201 Created`}),` com o novo domínio. A aplicação não é\nreiniciada nem recebe um novo deploy. O domínio começa como `,_jsx(_components.code,{children:`pending`}),` até que os seus registros DNS sejam\nresolvidos; consulte-os em `,_jsx(_components.a,{href:`/pt-br/api-reference/endpoint/apps/domains/dns`,children:`Registros DNS do domínio`}),`. Exige o escopo\n`,_jsx(_components.code,{children:`apps:write`}),` quando chamado com uma chave de API.`]}),`\n`,_jsxs(_components.p,{children:[`Por padrão, a chamada também cria o domínio complementar automático: `,_jsx(_components.code,{children:`www.example.com`}),` quando você adiciona\n`,_jsx(_components.code,{children:`example.com`}),`, ou `,_jsx(_components.code,{children:`example.com`}),` quando você adiciona `,_jsx(_components.code,{children:`www.example.com`}),`. O complementar redireciona para o domínio\nque você adicionou com um `,_jsx(_components.code,{children:`308`}),`, e `,_jsx(_components.strong,{children:`não conta`}),` no limite de domínios do seu plano. Para qualquer outro subdomínio\n(`,_jsx(_components.code,{children:`app.example.com`}),`) não há complementar.`]}),`\n`,_jsx(ParamField,{path:`id`,type:`string`,required:true,id:`param-id`,children:_jsxs(_components.p,{children:[`O ID da aplicação. A aplicação precisa estar publicada na web (ela precisa de um subdomínio `,_jsx(_components.code,{children:`*.vertraweb.app`}),`).`]})}),`\n`,_jsx(ParamField,{query:`workspace_id`,type:`string`,id:`param-workspace-id`,children:_jsx(_components.p,{children:`Se a aplicação pertencer a um workspace, o ID do workspace. Obrigatório para membros do workspace que atuam em uma aplicação que não é deles.`})}),`\n`,_jsx(ParamField,{body:`hostname`,type:`string`,required:true,id:`param-hostname`,children:_jsxs(_components.p,{children:[`O domínio a adicionar (por exemplo `,_jsx(_components.code,{children:`example.com`}),` ou `,_jsx(_components.code,{children:`api.example.com`}),`), com entre 1 e 253 caracteres. Ele é armazenado\nem minúsculas. Envie somente o hostname: um esquema, um caminho ou uma porta são rejeitados com\n`,_jsx(_components.code,{children:`INVALID_CUSTOM_DOMAIN_FORMAT`}),`. Domínios que pertencem à Vertra Cloud são rejeitados com `,_jsx(_components.code,{children:`FORBIDDEN_DOMAIN`}),`.`]})}),`\n`,_jsx(ParamField,{body:`www`,type:`boolean`,default:`true`,id:`param-www`,children:_jsxs(_components.p,{children:[`Se o complementar automático `,_jsx(_components.code,{children:`www`}),` (ou raiz) deve ser criado. Envie `,_jsx(_components.code,{children:`false`}),` para adicionar somente o hostname enviado.\nNão tem efeito em subdomínios diferentes de `,_jsx(_components.code,{children:`www`}),`, e é ignorado quando `,_jsx(_components.code,{children:`redirect_to`}),` está definido.`]})}),`\n`,_jsx(ParamField,{body:`port`,type:`integer`,default:`80`,id:`param-port`,children:_jsxs(_components.p,{children:[`A porta da aplicação que atende este domínio, um inteiro de `,_jsx(_components.code,{children:`1`}),` a `,_jsx(_components.code,{children:`65535`}),`. Uma aplicação pode atender os seus domínios\nem até `,_jsxs(_components.strong,{children:[`5 portas diferentes além da `,_jsx(_components.code,{children:`80`})]}),`; a sexta responde `,_jsx(_components.code,{children:`DOMAIN_PORT_LIMIT_REACHED`}),`. Um domínio que apenas\nredireciona não usa porta.`]})}),`\n`,_jsx(ParamField,{body:`path_prefix`,type:`string`,id:`param-path-prefix`,children:_jsxs(_components.p,{children:[`Um caminho literal adicionado antes de cada requisição que o domínio encaminha para a aplicação: com `,_jsx(_components.code,{children:`/api`}),`, uma\nrequisição para `,_jsx(_components.code,{children:`https://api.example.com/users`}),` chega à aplicação como `,_jsx(_components.code,{children:`/api/users`}),`. Deve começar com `,_jsx(_components.code,{children:`/`}),`, não pode\nterminar com `,_jsx(_components.code,{children:`/`}),`, tem até 128 caracteres e só pode conter letras, dígitos, `,_jsx(_components.code,{children:`.`}),`, `,_jsx(_components.code,{children:`_`}),`, `,_jsx(_components.code,{children:`~`}),` e `,_jsx(_components.code,{children:`-`}),` entre as barras\n(por exemplo `,_jsx(_components.code,{children:`/api`}),` ou `,_jsx(_components.code,{children:`/v1/api`}),`). Recomendado para APIs: um site precisa ser construído para rodar sob esse caminho,\nincluindo os seus assets e os próprios redirecionamentos.`]})}),`\n`,_jsx(ParamField,{body:`redirect_to`,type:`string`,id:`param-redirect-to`,children:_jsx(_components.p,{children:`O ID de outro domínio da mesma aplicação. O novo domínio passa a redirecionar cada requisição para esse domínio,\nmantendo o caminho e a query string, em vez de servir a aplicação. O destino não pode redirecionar para si mesmo.`})}),`\n`,_jsx(ParamField,{body:`redirect_status`,type:`integer`,default:`308`,id:`param-redirect-status`,children:_jsxs(_components.p,{children:[`O status HTTP do redirecionamento: `,_jsx(_components.code,{children:`301`}),`, `,_jsx(_components.code,{children:`302`}),`, `,_jsx(_components.code,{children:`307`}),` ou `,_jsx(_components.code,{children:`308`}),`. Só é usado junto com `,_jsx(_components.code,{children:`redirect_to`}),`. `,_jsx(_components.code,{children:`301`}),` e `,_jsx(_components.code,{children:`308`}),`\nsão permanentes; `,_jsx(_components.code,{children:`302`}),` e `,_jsx(_components.code,{children:`307`}),` são temporários. `,_jsx(_components.code,{children:`307`}),` e `,_jsx(_components.code,{children:`308`}),` mantêm o método da requisição; `,_jsx(_components.code,{children:`301`}),` e `,_jsx(_components.code,{children:`302`}),` podem\ntransformar um `,_jsx(_components.code,{children:`POST`}),` em `,_jsx(_components.code,{children:`GET`}),`.`]})}),`\n`,_jsx(Heading,{level:`3`,id:`resposta`,children:`Resposta`}),`\n`,_jsx(ResponseField,{name:`response`,type:`APIApplicationDomain[]`,id:`param-response`,children:_jsxs(_components.p,{children:[`O domínio que você adicionou primeiro, seguido do seu complementar quando um foi criado. Cada item tem os campos\ndescritos em `,_jsx(_components.a,{href:`/pt-br/api-reference/endpoint/apps/domains/list#resposta`,children:`Listar domínios da aplicação`}),`.`]})}),`\n`,_jsx(ResponseExample,{children:_jsx(CodeBlock,{filename:`Response (201)`,numberOfLines:`30`,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:`30`,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:` \"response\"`}),_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`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"7b8f5e0a-3c1d-4e52-9a47-0d6e2c1f9b34\"`}),_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:` \"hostname\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"example.com\"`}),_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:` \"apex\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`}),_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:` \"companion_of\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_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:` \"redirect_to\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_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:` \"redirect_status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`308`}),_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:` \"path_prefix\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_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:` \"port\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`80`}),_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:` \"status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"pending\"`}),_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:` \"ssl_status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"pending\"`}),_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:` \"created_at\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"2026-10-21T14:02:11.000Z\"`})]}),`\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`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"c2a9d4f1-86b0-4a37-b5e8-1f3d7a9c0e62\"`}),_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:` \"hostname\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"www.example.com\"`}),_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:` \"apex\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`false`}),_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:` \"companion_of\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"7b8f5e0a-3c1d-4e52-9a47-0d6e2c1f9b34\"`}),_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:` \"redirect_to\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"7b8f5e0a-3c1d-4e52-9a47-0d6e2c1f9b34\"`}),_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:` \"redirect_status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`308`}),_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:` \"path_prefix\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_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:` \"port\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`80`}),_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:` \"status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"pending\"`}),_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:` \"ssl_status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"pending\"`}),_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:` \"created_at\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"2026-10-21T14:02:11.000Z\"`})]}),`\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`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`Os domínios personalizados começam no plano `,_jsx(_components.strong,{children:`Intermediary`}),` (1 domínio por aplicação) e crescem com o nível Enterprise.\nO complementar automático nunca conta. Os limites de cada plano estão em\n`,_jsx(_components.a,{href:`/pt-br/plans-and-limits#quantos-dom%C3%ADnios-personalizados-e-portas-cada-plano-permite`,children:`Planos e limites`}),`.\nDespublicar a aplicação remove todos os seus domínios. Remover um domínio, manualmente, por despublicação ou pela\nlimpeza automática, nunca altera o seu DNS: apague os registros `,_jsx(_components.code,{children:`CNAME`}),` e `,_jsx(_components.code,{children:`TXT`}),` por conta própria, como explicado em\n`,_jsx(_components.a,{href:`/pt-br/api-reference/endpoint/apps/domains/delete`,children:`Remover domínio da aplicação`}),`.`]})}),`\n`,_jsx(Heading,{level:`3`,id:`respostas-de-erro`,children:`Respostas de erro`}),`\n`,_jsxs(ResponseField,{name:`code`,type:`string`,id:`param-code`,children:[_jsx(_components.p,{children:`O código de erro que indica o motivo da falha. Valores possíveis:`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`VALIDATION_ERROR`}),`: o parâmetro de caminho ou o corpo falhou na validação, por exemplo um campo desconhecido ou um tipo errado (`,_jsx(_components.code,{children:`400`}),`). A resposta também traz `,_jsx(_components.code,{children:`message`}),` e `,_jsx(_components.code,{children:`path`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`INVALID_CUSTOM_DOMAIN_FORMAT`}),`: `,_jsx(_components.code,{children:`hostname`}),` não é um hostname público válido (`,_jsx(_components.code,{children:`400`}),`).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`FORBIDDEN_DOMAIN`}),`: o domínio é reservado e não pode ser adicionado (`,_jsx(_components.code,{children:`400`}),`).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`INVALID_DOMAIN_PORT`}),`: `,_jsx(_components.code,{children:`port`}),` não é um inteiro de 1 a 65535 (`,_jsx(_components.code,{children:`400`}),`).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`INVALID_PATH_PREFIX`}),`: `,_jsx(_components.code,{children:`path_prefix`}),` não segue o formato descrito acima (`,_jsx(_components.code,{children:`400`}),`).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`INVALID_REDIRECT_TARGET`}),`: `,_jsx(_components.code,{children:`redirect_to`}),` não é um domínio desta aplicação, não está `,_jsx(_components.code,{children:`active`}),`, ou o destino redireciona para si mesmo (`,_jsx(_components.code,{children:`400`}),`).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`APP_NOT_PUBLISHED`}),`: a aplicação não está publicada na web; publique-a primeiro com `,_jsx(_components.a,{href:`/pt-br/api-reference/endpoint/apps/network/publish`,children:`Publicar aplicação na web`}),` (`,_jsx(_components.code,{children:`400`}),`).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`AUTH_TOKEN_MISSING`}),`, `,_jsx(_components.code,{children:`API_KEY_INVALID`}),`, `,_jsx(_components.code,{children:`SESSION_REVOKED`}),`: o cabeçalho `,_jsx(_components.code,{children:`Authorization`}),` está ausente, a chave de API é inválida ou a sessão do painel foi revogada (`,_jsx(_components.code,{children:`401`}),`).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`API_KEY_IP_DENIED`}),`: a chave de API está sendo usada a partir de um IP fora da sua lista de permissões (`,_jsx(_components.code,{children:`403`}),`).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`USER_NOT_FOUND`}),`: não foi possível identificar o usuário autenticado (`,_jsx(_components.code,{children:`401`}),`).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`ACCESS_DENIED`}),`: o usuário não tem permissão para atuar na aplicação (`,_jsx(_components.code,{children:`403`}),`).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`API_KEY_SCOPE_DENIED`}),`: a chave de API não tem o escopo `,_jsx(_components.code,{children:`apps:write`}),` (`,_jsx(_components.code,{children:`403`}),`).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`PLAN_REQUIRED`}),`: o dono da aplicação não tem um plano ativo (`,_jsx(_components.code,{children:`403`}),`).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`PLAN_DOES_NOT_SUPPORT_CUSTOM_DOMAIN`}),`: o plano do dono não inclui domínios personalizados (`,_jsx(_components.code,{children:`403`}),`).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`DOMAIN_LIMIT_REACHED`}),`: a aplicação já tem tantos domínios quanto o plano permite (`,_jsx(_components.code,{children:`403`}),`). `,_jsx(_components.code,{children:`details.limit`}),` traz o limite.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`DOMAIN_PORT_LIMIT_REACHED`}),`: a aplicação já atende domínios em 5 portas além da `,_jsx(_components.code,{children:`80`}),` (`,_jsx(_components.code,{children:`403`}),`). `,_jsx(_components.code,{children:`details.limit`}),` traz o limite.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`APP_NOT_FOUND`}),`: a aplicação especificada não existe (`,_jsx(_components.code,{children:`404`}),`).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`DOMAIN_ALREADY_IN_USE`}),`: o hostname já está vinculado a uma aplicação (`,_jsx(_components.code,{children:`409`}),`).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`RATE_LIMIT_EXCEEDED`}),`: foi atingido o orçamento de requisições da rota (`,_jsx(_components.code,{children:`429`}),`).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`CUSTOM_DOMAIN_REGISTRATION_FAILED`}),`: o domínio não pôde ser registrado agora; tente novamente mais tarde (`,_jsx(_components.code,{children:`502`}),`).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`INTERNAL_SERVER_ERROR`}),`: falha inesperada (`,_jsx(_components.code,{children:`500`}),`).`]}),`\n`]})]}),`\n`,_jsxs(ResponseExample,{children:[_jsx(CodeBlock,{filename:`Error Response (403)`,numberOfLines:`4`,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:`4`,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:` \"code\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"DOMAIN_LIMIT_REACHED\"`}),_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:` \"details\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: { `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"limit\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_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`]})})}),_jsx(CodeBlock,{filename:`Error Response (409)`,numberOfLines:`3`,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:`3`,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:` \"code\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"DOMAIN_ALREADY_IN_USE\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`Esta rota tem um orçamento próprio de 10 requisições por minuto. Veja `,_jsx(_components.a,{href:`/pt-br/api-reference/introduction#como-a-api-tem-limite-de-taxa`,children:`Limite de requisições`}),`.`]})})]})}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":"Adicionar domínio à aplicação","sidebarTitle":"Adicionar domínio","api":"POST https://api.vertracloud.app/v1/apps/{id}/domains","authMethod":"bearer","description":"Adiciona um domínio personalizado a uma aplicação publicada, sem redeploy, com www, porta, prefixo de caminho e redirecionamento opcionais.","href":"/pt-br/api-reference/endpoint/apps/domains/create"}}}},"mdxExtracts":{"tableOfContents":[{"title":"Resposta","slug":"resposta","depth":3,"children":[]},{"title":"Respostas de erro","slug":"respostas-de-erro","depth":3,"children":[]}],"codeExamples":{"response":{"type":"ResponseExample","children":[{"filename":"Response (201)","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"json\">\u003ccode language=\"json\" numberOfLines=\"30\">\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">{\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"response\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: [\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"id\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"7b8f5e0a-3c1d-4e52-9a47-0d6e2c1f9b34\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"hostname\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"example.com\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"apex\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">true\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"companion_of\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">null\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"redirect_to\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">null\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"redirect_status\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">308\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"path_prefix\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">null\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"port\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">80\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"status\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"pending\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"ssl_status\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"pending\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"created_at\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"2026-10-21T14:02:11.000Z\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"id\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"c2a9d4f1-86b0-4a37-b5e8-1f3d7a9c0e62\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"hostname\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"www.example.com\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"apex\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">false\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"companion_of\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"7b8f5e0a-3c1d-4e52-9a47-0d6e2c1f9b34\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"redirect_to\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"7b8f5e0a-3c1d-4e52-9a47-0d6e2c1f9b34\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"redirect_status\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">308\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"path_prefix\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">null\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"port\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">80\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"status\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"pending\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"ssl_status\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"pending\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"created_at\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"2026-10-21T14:02:11.000Z\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> ]\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">}\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"}],"attributes":[]}},"endpoint":{"title":"Adicionar domínio à aplicação","path":"/v1/apps/{id}/domains","servers":[{"url":"https://api.vertracloud.app"}],"method":"post","request":{"security":[{"title":"Bearer Auth","parameters":{"header":{"Authorization":{"type":"http","scheme":"bearer","description":"Bearer authentication header of the form `Bearer \u003ctoken>`, where `\u003ctoken>` is your auth token."}},"query":{},"cookie":{}}}],"parameters":{"query":{"workspace_id":{"schema":[{"type":"string","description":"Se a aplicação pertencer a um workspace, o ID do workspace. Obrigatório para membros do workspace que atuam em uma aplicação que não é deles."}]}},"header":{},"cookie":{},"path":{"id":{"schema":[{"type":"string","description":"O ID da aplicação. A aplicação precisa estar publicada na web (ela precisa de um subdomínio `*.vertraweb.app` ).","required":true}]}}},"body":{"application/json":{"schemaArray":[{"type":"object","properties":{"hostname":[{"type":"string","description":"O domínio a adicionar (por exemplo `example.com` ou `api.example.com` ), com entre 1 e 253 caracteres. Ele é armazenado em minúsculas. Envie somente o hostname: um esquema, um caminho ou uma porta são rejeitados com `INVALID_CUSTOM_DOMAIN_FORMAT` . Domínios que pertencem à Vertra Cloud são rejeitados com `FORBIDDEN_DOMAIN` .","required":true}],"www":[{"type":"boolean","description":"Se o complementar automático `www` (ou raiz) deve ser criado. Envie `false` para adicionar somente o hostname enviado. Não tem efeito em subdomínios diferentes de `www` , e é ignorado quando `redirect_to` está definido."}],"port":[{"type":"integer","description":"A porta da aplicação que atende este domínio, um inteiro de `1` a `65535` . Uma aplicação pode atender os seus domínios em até 5 portas diferentes além da `80` ; a sexta responde `DOMAIN_PORT_LIMIT_REACHED` . Um domínio que apenas redireciona não usa porta."}],"path_prefix":[{"type":"string","description":"Um caminho literal adicionado antes de cada requisição que o domínio encaminha para a aplicação: com `/api` , uma requisição para `https://api.example.com/users` chega à aplicação como `/api/users` . Deve começar com `/` , não pode terminar com `/` , tem até 128 caracteres e só pode conter letras, dígitos, `.` , `_` , `~` e `-` entre as barras (por exemplo `/api` ou `/v1/api` ). Recomendado para APIs: um site precisa ser construído para rodar sob esse caminho, incluindo os seus assets e os próprios redirecionamentos."}],"redirect_to":[{"type":"string","description":"O ID de outro domínio da mesma aplicação. O novo domínio passa a redirecionar cada requisição para esse domínio, mantendo o caminho e a query string, em vez de servir a aplicação. O destino não pode redirecionar para si mesmo."}],"redirect_status":[{"type":"integer","description":"O status HTTP do redirecionamento: `301` , `302` , `307` ou `308` . Só é usado junto com `redirect_to` . `301` e `308` são permanentes; `302` e `307` são temporários. `307` e `308` mantêm o método da requisição; `301` e `302` podem transformar um `POST` em `GET` ."}]}}],"examples":{"example":{"value":{"hostname":"\u003cstring>","www":true,"port":123,"path_prefix":"\u003cstring>","redirect_to":"\u003cstring>","redirect_status":123}}}}}},"response":{"200":{"application/json":{"schemaArray":[{"type":"object","properties":{"response":[{"type":"array","items":[{"type":"object","properties":{}}],"description":"O domínio que você adicionou primeiro, seguido do seu complementar quando um foi criado. Cada item tem os campos descritos em Listar domínios da aplicação ."}],"code":[{"type":"string","description":"O código de erro que indica o motivo da falha. Valores possíveis: `VALIDATION_ERROR` : o parâmetro de caminho ou o corpo falhou na validação, por exemplo um campo desconhecido ou um tipo errado ( `400` ). A resposta também traz `message` e `path` . `INVALID_CUSTOM_DOMAIN_FORMAT` : `hostname` não é um hostname público válido ( `400` ). `FORBIDDEN_DOMAIN` : o domínio é reservado e não pode ser adicionado ( `400` ). `INVALID_DOMAIN_PORT` : `port` não é um inteiro de 1 a 65535 ( `400` ). `INVALID_PATH_PREFIX` : `path_prefix` não segue o formato descrito acima ( `400` ). `INVALID_REDIRECT_TARGET` : `redirect_to` não é um domínio desta aplicação, não está `active` , ou o destino redireciona para si mesmo ( `400` ). `APP_NOT_PUBLISHED` : a aplicação não está publicada na web; publique-a primeiro com Publicar aplicação na web ( `400` ). `AUTH_TOKEN_MISSING` , `API_KEY_INVALID` , `SESSION_REVOKED` : o cabeçalho `Authorization` está ausente, a chave de API é inválida ou a sessão do painel foi revogada ( `401` ). `API_KEY_IP_DENIED` : a chave de API está sendo usada a partir de um IP fora da sua lista de permissões ( `403` ). `USER_NOT_FOUND` : não foi possível identificar o usuário autenticado ( `401` ). `ACCESS_DENIED` : o usuário não tem permissão para atuar na aplicação ( `403` ). `API_KEY_SCOPE_DENIED` : a chave de API não tem o escopo `apps:write` ( `403` ). `PLAN_REQUIRED` : o dono da aplicação não tem um plano ativo ( `403` ). `PLAN_DOES_NOT_SUPPORT_CUSTOM_DOMAIN` : o plano do dono não inclui domínios personalizados ( `403` ). `DOMAIN_LIMIT_REACHED` : a aplicação já tem tantos domínios quanto o plano permite ( `403` ). `details.limit` traz o limite. `DOMAIN_PORT_LIMIT_REACHED` : a aplicação já atende domínios em 5 portas além da `80` ( `403` ). `details.limit` traz o limite. `APP_NOT_FOUND` : a aplicação especificada não existe ( `404` ). `DOMAIN_ALREADY_IN_USE` : o hostname já está vinculado a uma aplicação ( `409` ). `RATE_LIMIT_EXCEEDED` : foi atingido o orçamento de requisições da rota ( `429` ). `CUSTOM_DOMAIN_REGISTRATION_FAILED` : o domínio não pôde ser registrado agora; tente novamente mais tarde ( `502` ). `INTERNAL_SERVER_ERROR` : falha inesperada ( `500` )."}]}}],"examples":{"example":{"value":{"response":[{}],"code":"\u003cstring>"}}}}}},"deprecated":false}},"jsLinks":[],"subdomain":"vertracloud","siteName":"Vertra Cloud","title":"Adicionar domínio à aplicação - Vertra Cloud","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/api-reference/endpoint/apps/domains/create","matchLevel":1},"pt-BR":{"href":"/pt-br/api-reference/endpoint/apps/domains/create","matchLevel":0},"es":{"href":"/es-es","matchLevel":4}}},"lastModified":"2026-10-30T22:45:17.866Z","gitLastModified":"2026-10-28T22:06:31.000Z","originalFileLocation":"pt-br/api-reference/endpoint/apps/domains/create.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=\"Adiciona um domínio personalizado a uma aplicação publicada, sem redeploy, com www, porta, prefixo de caminho e redirecionamento opcionais.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Vertra Cloud\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/vertracloud/pOhcCJNRkRisP0nY/_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/vertracloud/pOhcCJNRkRisP0nY/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/vertracloud/pOhcCJNRkRisP0nY/_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/vertracloud/pOhcCJNRkRisP0nY/_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/vertracloud/pOhcCJNRkRisP0nY/_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/vertracloud/pOhcCJNRkRisP0nY/_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/vertracloud/pOhcCJNRkRisP0nY/_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/vertracloud/pOhcCJNRkRisP0nY/_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/vertracloud/pOhcCJNRkRisP0nY/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Adicionar domínio à aplicação - Vertra Cloud\">\u003cmeta data-mint-head property=\"og:description\" content=\"Adiciona um domínio personalizado a uma aplicação publicada, sem redeploy, com www, porta, prefixo de caminho e redirecionamento opcionais.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Vertra Cloud Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.vertracloud.app/pt-br/api-reference/endpoint/apps/domains/create\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://docs.vertracloud.app/images/og.png\">\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=\"Adicionar domínio à aplicação - Vertra Cloud\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Adiciona um domínio personalizado a uma aplicação publicada, sem redeploy, com www, porta, prefixo de caminho e redirecionamento opcionais.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://docs.vertracloud.app/images/og.png\">\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/vertracloud/pOhcCJNRkRisP0nY/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Vertra Cloud\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#ff6100\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.vertracloud.app/pt-br/api-reference/endpoint/apps/domains/create\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/pt-br/api-reference/endpoint/apps/domains/create.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://docs.vertracloud.app/pt-br/api-reference/endpoint/apps/domains/create\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://docs.vertracloud.app/api-reference/endpoint/apps/domains/create\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://docs.vertracloud.app/api-reference/endpoint/apps/domains/create\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.vertracloud.app/#organization\",\"name\":\"Vertra Cloud\",\"url\":\"https://docs.vertracloud.app\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/vertracloud/2O7-bfMOIoy6MCUx/logo/light.svg?fit=max\u0026auto=format\u0026n=2O7-bfMOIoy6MCUx\u0026q=85\u0026s=2fcb392041b562c0aab2f07ebef0f12e\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.vertracloud.app#website\",\"name\":\"Vertra Cloud\",\"url\":\"https://docs.vertracloud.app\",\"publisher\":{\"@id\":\"https://docs.vertracloud.app/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.vertracloud.app/pt-br/api-reference/endpoint/apps/domains/create#webpage\",\"url\":\"https://docs.vertracloud.app/pt-br/api-reference/endpoint/apps/domains/create\",\"name\":\"Adicionar domínio à aplicação\",\"description\":\"Adiciona um domínio personalizado a uma aplicação publicada, sem redeploy, com www, porta, prefixo de caminho e redirecionamento opcionais.\",\"dateModified\":\"2026-10-28T22:06:31.000Z\",\"isPartOf\":{\"@id\":\"https://docs.vertracloud.app#website\"},\"breadcrumb\":{\"@id\":\"https://docs.vertracloud.app/pt-br/api-reference/endpoint/apps/domains/create#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.vertracloud.app/pt-br/api-reference/endpoint/apps/domains/create#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Endpoints\",\"item\":\"https://docs.vertracloud.app/pt-br/api-reference/endpoint/users/me\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Aplicações\",\"item\":\"https://docs.vertracloud.app/pt-br/api-reference/endpoint/apps/get\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Domínios\",\"item\":\"https://docs.vertracloud.app/pt-br/api-reference/endpoint/apps/domains/list\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Adicionar domínio à aplicação\",\"item\":\"https://docs.vertracloud.app/pt-br/api-reference/endpoint/apps/domains/create\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.vertracloud.app/pt-br/api-reference/endpoint/apps/domains/create#apireference\",\"headline\":\"Adicionar domínio à aplicação\",\"name\":\"Adicionar domínio à aplicação\",\"description\":\"Adiciona um domínio personalizado a uma aplicação publicada, sem redeploy, com www, porta, prefixo de caminho e redirecionamento opcionais.\",\"url\":\"https://docs.vertracloud.app/pt-br/api-reference/endpoint/apps/domains/create\",\"mainEntityOfPage\":{\"@id\":\"https://docs.vertracloud.app/pt-br/api-reference/endpoint/apps/domains/create#webpage\"},\"image\":\"https://docs.vertracloud.app/images/og.png\",\"dateModified\":\"2026-10-28T22:06:31.000Z\",\"publisher\":{\"@id\":\"https://docs.vertracloud.app/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.vertracloud.app#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Vertra Cloud\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Vertra Cloud","nav":{"global":null,"languages":[{"language":"en","default":true,"pages":[{"title":"en","href":"/api-reference/endpoint/apps/domains/create"}]},{"language":"pt-BR","navbar":{"links":[{"href":"mailto:[email protected]","label":"Suporte"}],"primary":{"type":"button","label":"Dashboard","href":"https://vertracloud.app/dashboard"}},"tabs":[{"tab":"Primeiros passos","pages":[{"title":"Primeiros passos","href":"/pt-br"}]},{"tab":"Recursos","pages":[{"title":"Recursos","href":"/pt-br/applications"}]},{"tab":"Tutoriais","pages":[{"title":"Tutoriais","href":"/pt-br/tutorials/introduction"}]},{"tab":"Guias","pages":[{"title":"Guias","href":"/pt-br/guides/custom-domain"}]},{"tab":"Ferramentas","pages":[{"title":"Ferramentas","href":"/pt-br/cli"}]},{"tab":"Blob Storage","pages":[{"title":"Blob Storage","href":"/pt-br/blob/overview"}]},{"tab":"Templates","pages":[{"title":"Templates","href":"/pt-br/templates/overview"}]},{"tab":"Referência da API","groups":[{"group":"Visão geral","icon":"book","pages":[{"title":"Referência da API pública da Vertra Cloud","sidebarTitle":"API pública","href":"/pt-br/api-reference/introduction"},{"title":"Limites e cotas da plataforma na Vertra Cloud","sidebarTitle":"Limites","href":"/pt-br/api-reference/limitations"},{"title":"Códigos de erro da API da Vertra Cloud","sidebarTitle":"Códigos de erro","href":"/pt-br/api-reference/errors"}]},{"group":"Endpoints","icon":"plug","pages":[{"group":"Usuários","icon":"user","pages":[{"title":"Informações do usuário","sidebarTitle":"Dados do usuário","api":"GET https://api.vertracloud.app/v1/users/me","href":"/pt-br/api-reference/endpoint/users/me"},{"title":"Atualizar perfil do usuário","sidebarTitle":"Atualizar perfil","api":"PATCH https://api.vertracloud.app/v1/users/me","href":"/pt-br/api-reference/endpoint/users/update-me"},{"title":"Listar todos os snapshots da conta","sidebarTitle":"Todos os snapshots","api":"GET https://api.vertracloud.app/v1/users/snapshots","href":"/pt-br/api-reference/endpoint/users/snapshots"},{"title":"Organização pessoal de recursos","sidebarTitle":"Pastas e favoritos","href":"/pt-br/api-reference/endpoint/users/resource-organization"},{"title":"Listar sessões","sidebarTitle":"Sessões","api":"GET https://api.vertracloud.app/v1/users/me/sessions","href":"/pt-br/api-reference/endpoint/users/sessions"}]},{"group":"Status","icon":"heart-pulse","pages":[{"title":"Verificar status da infraestrutura","sidebarTitle":"Verificar status","api":"GET https://api.vertracloud.app/v1/status","href":"/pt-br/api-reference/endpoint/services/status"}]},{"group":"Aplicações","icon":"rocket","pages":[{"title":"Detalhes da aplicação","sidebarTitle":"Obter aplicação","api":"GET https://api.vertracloud.app/v1/apps/{id}","href":"/pt-br/api-reference/endpoint/apps/get"},{"title":"Status da aplicação","sidebarTitle":"Obter status da aplicação","api":"GET https://api.vertracloud.app/v1/apps/{id}/status","href":"/pt-br/api-reference/endpoint/apps/status"},{"title":"Status de todas as aplicações","sidebarTitle":"Status de todas as aplicações","api":"GET https://api.vertracloud.app/v1/apps/status","href":"/pt-br/api-reference/endpoint/apps/allstatus"},{"title":"Listar runtimes","sidebarTitle":"Runtimes","api":"GET https://api.vertracloud.app/v1/apps/runtimes","href":"/pt-br/api-reference/endpoint/apps/runtimes"},{"title":"Métricas da aplicação","sidebarTitle":"Métricas da aplicação","api":"GET https://api.vertracloud.app/v1/apps/{id}/metrics","href":"/pt-br/api-reference/endpoint/apps/metrics"},{"title":"Logs da aplicação em tempo real","sidebarTitle":"Logs em tempo real","api":"GET https://api.vertracloud.app/v1/apps/{id}/realtime","href":"/pt-br/api-reference/endpoint/apps/realtime"},{"title":"Baixar aplicação","sidebarTitle":"Baixar aplicação","api":"GET https://api.vertracloud.app/v1/apps/{id}/download","href":"/pt-br/api-reference/endpoint/apps/download"},{"title":"Logs da aplicação","sidebarTitle":"Logs da aplicação","api":"GET https://api.vertracloud.app/v1/apps/{id}/logs","href":"/pt-br/api-reference/endpoint/apps/logs"},{"title":"Criar aplicação","sidebarTitle":"Criar aplicação","api":"POST https://api.vertracloud.app/v1/apps","href":"/pt-br/api-reference/endpoint/apps/create"},{"title":"Criar aplicação a partir de imagem","sidebarTitle":"Criar a partir de imagem","api":"POST https://api.vertracloud.app/v1/apps/image","href":"/pt-br/api-reference/endpoint/apps/create-from-image"},{"title":"Iniciar aplicação","sidebarTitle":"Iniciar aplicação","api":"POST https://api.vertracloud.app/v1/apps/{id}/start","href":"/pt-br/api-reference/endpoint/apps/start"},{"title":"Reiniciar aplicação","sidebarTitle":"Reiniciar aplicação","api":"POST https://api.vertracloud.app/v1/apps/{id}/restart","href":"/pt-br/api-reference/endpoint/apps/restart"},{"title":"Parar aplicação","sidebarTitle":"Parar aplicação","api":"POST https://api.vertracloud.app/v1/apps/{id}/stop","href":"/pt-br/api-reference/endpoint/apps/stop"},{"title":"Atualizar configuração da aplicação","sidebarTitle":"Atualizar configuração","api":"PATCH https://api.vertracloud.app/v1/apps/{id}/config","href":"/pt-br/api-reference/endpoint/apps/updateconfig"},{"title":"Excluir aplicação","sidebarTitle":"Excluir aplicação","api":"DELETE https://api.vertracloud.app/v1/apps/{id}","href":"/pt-br/api-reference/endpoint/apps/delete"},{"group":"Rede","icon":"globe","pages":[{"title":"Publicar aplicação na web","sidebarTitle":"Publicar / Despublicar","api":"POST https://api.vertracloud.app/v1/apps/{id}/network/publish","href":"/pt-br/api-reference/endpoint/apps/network/publish"},{"title":"Alterar subdomínio da aplicação","sidebarTitle":"Alterar subdomínio","api":"PATCH https://api.vertracloud.app/v1/apps/{id}/network/subdomain","href":"/pt-br/api-reference/endpoint/apps/network/subdomain"},{"title":"Limpar cache","sidebarTitle":"Limpar cache","api":"POST https://api.vertracloud.app/v1/apps/{id}/network/purge-cache","href":"/pt-br/api-reference/endpoint/apps/network/purgecache"}]},{"group":"Domínios","icon":"link","pages":[{"title":"Listar domínios da aplicação","sidebarTitle":"Listar domínios","api":"GET https://api.vertracloud.app/v1/apps/{id}/domains","description":"Lista os domínios personalizados de uma aplicação com o status, o estado do certificado, a porta, o prefixo de caminho e o redirecionamento.","href":"/pt-br/api-reference/endpoint/apps/domains/list"},{"title":"Adicionar domínio à aplicação","sidebarTitle":"Adicionar domínio","api":"POST https://api.vertracloud.app/v1/apps/{id}/domains","href":"/pt-br/api-reference/endpoint/apps/domains/create"},{"title":"Atualizar domínio da aplicação","sidebarTitle":"Atualizar domínio","api":"PATCH https://api.vertracloud.app/v1/apps/{id}/domains/{domain_id}","description":"Altera a porta, o prefixo de caminho ou o redirecionamento de um domínio personalizado, ou o torna o domínio principal, sem reiniciar a aplicação.","href":"/pt-br/api-reference/endpoint/apps/domains/update"},{"title":"Remover domínio da aplicação","sidebarTitle":"Remover domínio","api":"DELETE https://api.vertracloud.app/v1/apps/{id}/domains/{domain_id}","href":"/pt-br/api-reference/endpoint/apps/domains/delete"},{"title":"Registros DNS do domínio","sidebarTitle":"Registros DNS do domínio","api":"GET https://api.vertracloud.app/v1/apps/{id}/domains/{domain_id}/dns","href":"/pt-br/api-reference/endpoint/apps/domains/dns"},{"title":"Configurar domínio automaticamente","sidebarTitle":"Configurar automaticamente","api":"POST https://api.vertracloud.app/v1/apps/{id}/domains/{domain_id}/connect","href":"/pt-br/api-reference/endpoint/apps/domains/connect"}]},{"group":"Gerenciador de arquivos","icon":"folder-open","pages":[{"title":"Obter conteúdo de arquivo da aplicação","sidebarTitle":"Obter conteúdo do arquivo","api":"GET https://api.vertracloud.app/v1/apps/{id}/files/content","href":"/pt-br/api-reference/endpoint/apps/filemanager/content"},{"title":"Obter arquivos da aplicação","sidebarTitle":"Obter arquivos","api":"GET https://api.vertracloud.app/v1/apps/{id}/files","href":"/pt-br/api-reference/endpoint/apps/filemanager/files"},{"title":"Obter árvore de arquivos da aplicação","sidebarTitle":"Obter árvore de arquivos","api":"GET https://api.vertracloud.app/v1/apps/{id}/files/tree","href":"/pt-br/api-reference/endpoint/apps/filemanager/tree"},{"title":"Enviar arquivos para a aplicação","sidebarTitle":"Enviar arquivos","api":"POST https://api.vertracloud.app/v1/apps/{id}/files/upload","href":"/pt-br/api-reference/endpoint/apps/filemanager/upload"},{"title":"Excluir arquivo ou pasta da aplicação","sidebarTitle":"Excluir arquivo ou pasta","api":"DELETE https://api.vertracloud.app/v1/apps/{id}/files","href":"/pt-br/api-reference/endpoint/apps/filemanager/delete"},{"title":"Mover arquivo ou pasta da aplicação","sidebarTitle":"Mover arquivo ou pasta","api":"PATCH https://api.vertracloud.app/v1/apps/{id}/files","href":"/pt-br/api-reference/endpoint/apps/filemanager/move"},{"title":"Criar ou atualizar arquivo ou pasta da aplicação","sidebarTitle":"Criar/atualizar arquivo ou pasta","api":"PUT https://api.vertracloud.app/v1/apps/{id}/files","href":"/pt-br/api-reference/endpoint/apps/filemanager/save"}]},{"group":"Variáveis de ambiente","icon":"key","pages":[{"title":"Obter variáveis de ambiente da aplicação","sidebarTitle":"Obter variáveis de ambiente","api":"GET https://api.vertracloud.app/v1/apps/{id}/envs","href":"/pt-br/api-reference/endpoint/apps/enviroments/get"},{"title":"Excluir uma variável de ambiente da aplicação","sidebarTitle":"Excluir variável de ambiente","api":"DELETE https://api.vertracloud.app/v1/apps/{id}/envs/{envId}","href":"/pt-br/api-reference/endpoint/apps/enviroments/delete"},{"title":"Criar ou editar variáveis de ambiente da aplicação","sidebarTitle":"Criar/editar variáveis de ambiente","api":"POST https://api.vertracloud.app/v1/apps/{id}/envs","href":"/pt-br/api-reference/endpoint/apps/enviroments/createOrEdit"}]},{"group":"Snapshots","icon":"camera","pages":[{"title":"Obter snapshots da aplicação","sidebarTitle":"Obter snapshots","api":"GET https://api.vertracloud.app/v1/users/{id}/snapshots","href":"/pt-br/api-reference/endpoint/apps/snapshots/getall"},{"title":"Criar snapshot da aplicação","sidebarTitle":"Criar snapshot","api":"POST https://api.vertracloud.app/v1/users/{id}/snapshots","href":"/pt-br/api-reference/endpoint/apps/snapshots/create"},{"title":"Restaurar snapshot da aplicação","sidebarTitle":"Restaurar snapshot","api":"POST https://api.vertracloud.app/v1/users/{id}/snapshots/{snapshot_id}/restore","href":"/pt-br/api-reference/endpoint/apps/snapshots/restore"},{"title":"Baixar snapshot da aplicação","sidebarTitle":"Baixar snapshot","api":"GET https://api.vertracloud.app/v1/users/{id}/snapshots/{snapshot_id}/download","href":"/pt-br/api-reference/endpoint/apps/snapshots/download"}]},{"group":"Deploys","icon":"code-branch","pages":[{"title":"Obter URL do webhook de deploy","sidebarTitle":"URL do webhook","api":"GET https://api.vertracloud.app/v1/apps/{app_id}/deploys/webhook","href":"/pt-br/api-reference/endpoint/apps/deploys/webhookurl"},{"title":"Obter deploys recentes","sidebarTitle":"Deploys recentes","api":"GET https://api.vertracloud.app/v1/apps/{app_id}/deploys","href":"/pt-br/api-reference/endpoint/apps/deploys/recents"},{"title":"Excluir webhook de deploy","sidebarTitle":"Excluir webhook","api":"DELETE https://api.vertracloud.app/v1/apps/{app_id}/deploys/webhook","href":"/pt-br/api-reference/endpoint/apps/deploys/delete"},{"title":"Criar webhook de deploy","sidebarTitle":"Criar webhook","api":"POST https://api.vertracloud.app/v1/apps/{app_id}/deploys/webhook","href":"/pt-br/api-reference/endpoint/apps/deploys/create"}]},{"group":"Releases","icon":"clock-rotate-left","pages":[{"title":"Listar releases da aplicação","sidebarTitle":"Listar releases","api":"GET https://api.vertracloud.app/v1/apps/{id}/releases","href":"/pt-br/api-reference/endpoint/apps/releases/list"},{"title":"Obter log da release da aplicação","sidebarTitle":"Obter log da release","api":"GET https://api.vertracloud.app/v1/apps/{id}/releases/{release_id}/log","href":"/pt-br/api-reference/endpoint/apps/releases/log"},{"title":"Pré-visualizar rollback da aplicação","sidebarTitle":"Pré-visualizar rollback","api":"GET https://api.vertracloud.app/v1/apps/{id}/releases/{release_id}/rollback","href":"/pt-br/api-reference/endpoint/apps/releases/rollback-preview"},{"title":"Fazer rollback da aplicação para uma release","sidebarTitle":"Fazer rollback","api":"POST https://api.vertracloud.app/v1/apps/{id}/releases/{release_id}/rollback","href":"/pt-br/api-reference/endpoint/apps/releases/rollback"}]}]},{"group":"Imagens Docker","icon":"docker","pages":[{"title":"Listar imagens","sidebarTitle":"Listar imagens","api":"GET https://api.vertracloud.app/v1/images","href":"/pt-br/api-reference/endpoint/images/list"},{"title":"Obter imagem","sidebarTitle":"Obter imagem","api":"GET https://api.vertracloud.app/v1/images/{image_id}","href":"/pt-br/api-reference/endpoint/images/get"},{"title":"Verificar Dockerfile","sidebarTitle":"Verificar Dockerfile","api":"POST https://api.vertracloud.app/v1/images/check","href":"/pt-br/api-reference/endpoint/images/check"},{"title":"Criar imagem","sidebarTitle":"Criar imagem","api":"POST https://api.vertracloud.app/v1/images","href":"/pt-br/api-reference/endpoint/images/create"},{"title":"Atualizar imagem","sidebarTitle":"Atualizar imagem","api":"PATCH https://api.vertracloud.app/v1/images/{image_id}","href":"/pt-br/api-reference/endpoint/images/update"},{"title":"Reconstruir imagem","sidebarTitle":"Reconstruir imagem","api":"PUT https://api.vertracloud.app/v1/images/{image_id}","href":"/pt-br/api-reference/endpoint/images/rebuild"},{"title":"Listar versões da imagem","sidebarTitle":"Listar versões","api":"GET https://api.vertracloud.app/v1/images/{image_id}/versions","href":"/pt-br/api-reference/endpoint/images/versions"},{"title":"Logs de build da imagem","sidebarTitle":"Logs de build","api":"GET https://api.vertracloud.app/v1/images/{image_id}/logs","href":"/pt-br/api-reference/endpoint/images/logs"},{"title":"Baixar o contexto da imagem","sidebarTitle":"Baixar contexto","api":"GET https://api.vertracloud.app/v1/images/{image_id}/context","href":"/pt-br/api-reference/endpoint/images/context"},{"title":"Vincular imagem ao GitHub","sidebarTitle":"Vincular GitHub","api":"PUT https://api.vertracloud.app/v1/images/{image_id}/github","href":"/pt-br/api-reference/endpoint/images/github-link"},{"title":"Desvincular imagem do GitHub","sidebarTitle":"Desvincular GitHub","api":"DELETE https://api.vertracloud.app/v1/images/{image_id}/github","href":"/pt-br/api-reference/endpoint/images/github-unlink"},{"title":"Excluir imagem","sidebarTitle":"Excluir imagem","api":"DELETE https://api.vertracloud.app/v1/images/{image_id}","href":"/pt-br/api-reference/endpoint/images/delete"}]},{"group":"Templates","icon":"shapes","pages":[{"title":"Listar templates","sidebarTitle":"Listar templates","api":"GET https://api.vertracloud.app/v1/templates","href":"/pt-br/api-reference/endpoint/templates/list"},{"title":"Listar categorias de templates","sidebarTitle":"Listar categorias","api":"GET https://api.vertracloud.app/v1/templates/categories","href":"/pt-br/api-reference/endpoint/templates/categories"},{"title":"Obter template","sidebarTitle":"Obter template","api":"GET https://api.vertracloud.app/v1/templates/{template_id}","href":"/pt-br/api-reference/endpoint/templates/get"},{"title":"Listar versões do template","sidebarTitle":"Listar versões","api":"GET https://api.vertracloud.app/v1/templates/{template_id}/versions","href":"/pt-br/api-reference/endpoint/templates/versions"},{"title":"Validar manifesto de template","sidebarTitle":"Validar manifesto","api":"POST https://api.vertracloud.app/v1/templates/validate","href":"/pt-br/api-reference/endpoint/templates/validate"},{"title":"Fazer deploy de template","sidebarTitle":"Fazer deploy de template","api":"POST https://api.vertracloud.app/v1/templates/{template_id}/deploy","href":"/pt-br/api-reference/endpoint/templates/deploy"},{"title":"Obter job de deploy de template","sidebarTitle":"Obter job de deploy","api":"GET https://api.vertracloud.app/v1/template-deploys/{deploy_id}","href":"/pt-br/api-reference/endpoint/templates/deploy-status"},{"title":"Transmitir os eventos de deploy de template","sidebarTitle":"Eventos de deploy","api":"GET https://api.vertracloud.app/v1/template-deploys/{deploy_id}/events","href":"/pt-br/api-reference/endpoint/templates/deploy-events"},{"title":"Obter informações de atualização do template","sidebarTitle":"Informações de atualização","api":"GET https://api.vertracloud.app/v1/apps/{id}/template/update","href":"/pt-br/api-reference/endpoint/templates/update-info"},{"title":"Atualizar um template ou mover uma aplicação para a versão mais recente","sidebarTitle":"Atualizar template","api":"POST https://api.vertracloud.app/v1/apps/{id}/template/update","href":"/pt-br/api-reference/endpoint/templates/update"},{"title":"Criar um template privado","sidebarTitle":"Criar template","api":"POST https://api.vertracloud.app/v1/templates","href":"/pt-br/api-reference/endpoint/templates/create"},{"title":"Salvar um app como template","sidebarTitle":"Criar a partir de app","api":"POST https://api.vertracloud.app/v1/templates/from-app/{app_id}","href":"/pt-br/api-reference/endpoint/templates/create-from-app"},{"title":"Salvar uma stack como template","sidebarTitle":"Criar a partir de stack","api":"POST https://api.vertracloud.app/v1/templates/from-stack/{stack_id}","href":"/pt-br/api-reference/endpoint/templates/create-from-stack"},{"title":"Revisar o rascunho de um template a partir de uma aplicação ou stack","sidebarTitle":"Revisar rascunho","api":"GET https://api.vertracloud.app/v1/templates/from-app/{app_id}/draft","href":"/pt-br/api-reference/endpoint/templates/draft"},{"title":"Publicar uma nova versão de um template privado","sidebarTitle":"Nova versão","api":"POST https://api.vertracloud.app/v1/templates/{template_id}/versions","href":"/pt-br/api-reference/endpoint/templates/new-version"},{"title":"Excluir um template privado","sidebarTitle":"Excluir template","api":"DELETE https://api.vertracloud.app/v1/templates/{template_id}","href":"/pt-br/api-reference/endpoint/templates/delete"},{"title":"Vincular um template privado ao GitHub","sidebarTitle":"Vincular GitHub","api":"PUT https://api.vertracloud.app/v1/templates/{template_id}/github","href":"/pt-br/api-reference/endpoint/templates/github-link"},{"title":"Desvincular um template privado do GitHub","sidebarTitle":"Desvincular GitHub","api":"DELETE https://api.vertracloud.app/v1/templates/{template_id}/github","href":"/pt-br/api-reference/endpoint/templates/github-unlink"},{"title":"Desvincular uma aplicação ou stack de um template","sidebarTitle":"Desvincular","api":"POST https://api.vertracloud.app/v1/apps/{id}/template/detach","href":"/pt-br/api-reference/endpoint/templates/detach"},{"group":"Links de compartilhamento","icon":"share-nodes","pages":[{"title":"Visualizar um link de compartilhamento de template","sidebarTitle":"Visualizar link","api":"GET https://api.vertracloud.app/v1/share/templates/{token}","href":"/pt-br/api-reference/endpoint/templates/share-links/preview"},{"title":"Fazer deploy a partir de um link de uso","sidebarTitle":"Usar link","api":"POST https://api.vertracloud.app/v1/share/templates/{token}/deploy","href":"/pt-br/api-reference/endpoint/templates/share-links/deploy"},{"title":"Copiar um template a partir de um link de cópia completa","sidebarTitle":"Copiar pelo link","api":"POST https://api.vertracloud.app/v1/share/templates/{token}/copy","href":"/pt-br/api-reference/endpoint/templates/share-links/copy"},{"title":"Denunciar um template","sidebarTitle":"Denunciar template","api":"POST https://api.vertracloud.app/v1/share/templates/{token}/report","href":"/pt-br/api-reference/endpoint/templates/share-links/report"},{"title":"Criar um link de compartilhamento para um template","sidebarTitle":"Criar link","api":"POST https://api.vertracloud.app/v1/templates/{template_id}/share-links","href":"/pt-br/api-reference/endpoint/templates/share-links/create"},{"title":"Listar os links de compartilhamento de um template","sidebarTitle":"Listar links","api":"GET https://api.vertracloud.app/v1/templates/{template_id}/share-links","href":"/pt-br/api-reference/endpoint/templates/share-links/list"},{"title":"Revogar um link de compartilhamento","sidebarTitle":"Revogar link","api":"DELETE https://api.vertracloud.app/v1/templates/{template_id}/share-links/{link_id}","href":"/pt-br/api-reference/endpoint/templates/share-links/revoke"}]}]},{"group":"Stacks","icon":"layer-group","pages":[{"title":"Listar stacks","sidebarTitle":"Listar stacks","api":"GET https://api.vertracloud.app/v1/stacks","href":"/pt-br/api-reference/endpoint/stacks/list"},{"title":"Obter stack","sidebarTitle":"Obter stack","api":"GET https://api.vertracloud.app/v1/stacks/{stack_id}","href":"/pt-br/api-reference/endpoint/stacks/get"},{"title":"Criar stack","sidebarTitle":"Criar stack","api":"POST https://api.vertracloud.app/v1/stacks","href":"/pt-br/api-reference/endpoint/stacks/create"},{"title":"Atualizar stack","sidebarTitle":"Atualizar stack","api":"PATCH https://api.vertracloud.app/v1/stacks/{stack_id}","href":"/pt-br/api-reference/endpoint/stacks/update"},{"title":"Excluir stack","sidebarTitle":"Excluir stack","api":"DELETE https://api.vertracloud.app/v1/stacks/{stack_id}","href":"/pt-br/api-reference/endpoint/stacks/delete"},{"title":"Transformar pasta em stack","sidebarTitle":"Transformar em stack","api":"POST https://api.vertracloud.app/v1/stacks/transform","href":"/pt-br/api-reference/endpoint/stacks/transform"},{"title":"Obter código de conexão da stack","sidebarTitle":"Código de conexão","api":"GET https://api.vertracloud.app/v1/stacks/{stack_id}/connection","href":"/pt-br/api-reference/endpoint/stacks/connection"},{"title":"Definir modo de rede da stack","sidebarTitle":"Modo de rede","api":"POST https://api.vertracloud.app/v1/stacks/{stack_id}/network-mode","href":"/pt-br/api-reference/endpoint/stacks/network-mode"},{"group":"Membros","icon":"user-group","pages":[{"title":"Adicionar membro à stack","sidebarTitle":"Adicionar membro","api":"POST https://api.vertracloud.app/v1/stacks/{stack_id}/members","href":"/pt-br/api-reference/endpoint/stacks/members/add"},{"title":"Remover membro da stack","sidebarTitle":"Remover membro","api":"DELETE https://api.vertracloud.app/v1/stacks/{stack_id}/members/{resource_type}/{resource_id}","href":"/pt-br/api-reference/endpoint/stacks/members/remove"}]},{"group":"Conexões","icon":"arrows-left-right","pages":[{"title":"Criar conexão da stack","sidebarTitle":"Criar conexão","api":"POST https://api.vertracloud.app/v1/stacks/{stack_id}/bindings","href":"/pt-br/api-reference/endpoint/stacks/bindings/create"},{"title":"Excluir conexão da stack","sidebarTitle":"Excluir conexão","api":"DELETE https://api.vertracloud.app/v1/stacks/{stack_id}/bindings/{binding_id}","href":"/pt-br/api-reference/endpoint/stacks/bindings/delete"},{"title":"Listar conexões da stack","sidebarTitle":"Listar conexões","api":"GET https://api.vertracloud.app/v1/stacks/{stack_id}/bindings","href":"/pt-br/api-reference/endpoint/stacks/bindings/list"},{"title":"Atualizar conexão da stack","sidebarTitle":"Atualizar conexão","api":"PATCH https://api.vertracloud.app/v1/stacks/{stack_id}/bindings/{binding_id}","href":"/pt-br/api-reference/endpoint/stacks/bindings/update"}]},{"group":"Bancos de dados","icon":"database","pages":[{"title":"Adicionar banco de dados à stack","sidebarTitle":"Adicionar banco de dados","api":"POST https://api.vertracloud.app/v1/stacks/{stack_id}/databases","href":"/pt-br/api-reference/endpoint/stacks/databases/create"}]},{"group":"Blob","icon":"box-archive","pages":[{"title":"Adicionar pasta do Blob à stack","sidebarTitle":"Adicionar pasta do Blob","api":"POST https://api.vertracloud.app/v1/stacks/{stack_id}/blob","href":"/pt-br/api-reference/endpoint/stacks/blob/create"}]},{"group":"Snapshots","icon":"camera","pages":[{"title":"Criar snapshot da stack","sidebarTitle":"Criar snapshot","api":"POST https://api.vertracloud.app/v1/stacks/{stack_id}/snapshots","href":"/pt-br/api-reference/endpoint/stacks/snapshots/create"},{"title":"Listar snapshots da stack","sidebarTitle":"Listar snapshots","api":"GET https://api.vertracloud.app/v1/stacks/{stack_id}/snapshots","href":"/pt-br/api-reference/endpoint/stacks/snapshots/list"},{"title":"Restaurar snapshot da stack","sidebarTitle":"Restaurar snapshot","api":"POST https://api.vertracloud.app/v1/stacks/{stack_id}/snapshots/{snapshot_id}/restore","href":"/pt-br/api-reference/endpoint/stacks/snapshots/restore"}]}]},{"group":"Bancos de dados","icon":"database","pages":[{"title":"Criar banco de dados","sidebarTitle":"Criar banco de dados","api":"POST https://api.vertracloud.app/v1/databases","href":"/pt-br/api-reference/endpoint/databases/create"},{"title":"Obter banco de dados pelo ID","sidebarTitle":"Obter banco de dados","api":"GET https://api.vertracloud.app/v1/databases/{id}","href":"/pt-br/api-reference/endpoint/databases/get"},{"title":"Listar versões de banco de dados","sidebarTitle":"Versões","api":"GET https://api.vertracloud.app/v1/databases/versions","href":"/pt-br/api-reference/endpoint/databases/versions"},{"title":"Obter status do banco de dados pelo ID","sidebarTitle":"Obter status","api":"GET https://api.vertracloud.app/v1/databases/{id}/status","href":"/pt-br/api-reference/endpoint/databases/status"},{"title":"Obter o status de todos os bancos de dados","sidebarTitle":"Status de todos os bancos","api":"GET https://api.vertracloud.app/v1/databases/status","href":"/pt-br/api-reference/endpoint/databases/allstatus"},{"title":"Obter métricas do banco de dados pelo ID","sidebarTitle":"Obter métricas","api":"GET https://api.vertracloud.app/v1/databases/{id}/metrics","href":"/pt-br/api-reference/endpoint/databases/metrics"},{"title":"Redefinir banco de dados","sidebarTitle":"Redefinir banco de dados","api":"POST https://api.vertracloud.app/v1/databases/{id}/reset","href":"/pt-br/api-reference/endpoint/databases/reset"},{"title":"Iniciar banco de dados","sidebarTitle":"Iniciar banco de dados","api":"POST https://api.vertracloud.app/v1/databases/{id}/start","href":"/pt-br/api-reference/endpoint/databases/start"},{"title":"Parar banco de dados","sidebarTitle":"Parar banco de dados","api":"POST https://api.vertracloud.app/v1/databases/{id}/stop","href":"/pt-br/api-reference/endpoint/databases/stop"},{"title":"Atualizar banco de dados","sidebarTitle":"Atualizar banco de dados","api":"PUT https://api.vertracloud.app/v1/databases/{id}","href":"/pt-br/api-reference/endpoint/databases/update"},{"title":"Excluir banco de dados","sidebarTitle":"Excluir banco de dados","api":"DELETE https://api.vertracloud.app/v1/databases/{id}","href":"/pt-br/api-reference/endpoint/databases/delete"},{"group":"Credenciais","icon":"lock","pages":[{"title":"Obter certificado do banco de dados","sidebarTitle":"Obter certificado","api":"GET https://api.vertracloud.app/v1/databases/{id}/credentials/certificate","href":"/pt-br/api-reference/endpoint/databases/credentials/get"},{"title":"Redefinir certificados do banco de dados","sidebarTitle":"Redefinir certificados","api":"POST https://api.vertracloud.app/v1/databases/{id}/credentials/certificate/reset","href":"/pt-br/api-reference/endpoint/databases/credentials/reset"},{"title":"Redefinir a senha do banco de dados","sidebarTitle":"Redefinir senha","api":"POST https://api.vertracloud.app/v1/databases/{id}/credentials/reset","href":"/pt-br/api-reference/endpoint/databases/credentials/resetpassword"}]}]},{"group":"Workspaces","icon":"users","pages":[{"title":"Listar workspaces","sidebarTitle":"Listar","api":"GET https://api.vertracloud.app/v1/workspaces","href":"/pt-br/api-reference/endpoint/workspaces/get-all"},{"title":"Obter workspace","sidebarTitle":"Obter","api":"GET https://api.vertracloud.app/v1/workspaces/{id}","href":"/pt-br/api-reference/endpoint/workspaces/get"},{"title":"Criar workspace","sidebarTitle":"Criar","api":"POST https://api.vertracloud.app/v1/workspaces","href":"/pt-br/api-reference/endpoint/workspaces/create"},{"title":"Atualizar workspace","sidebarTitle":"Atualizar","api":"PUT https://api.vertracloud.app/v1/workspaces/{id}","href":"/pt-br/api-reference/endpoint/workspaces/update"},{"title":"Apagar workspace","sidebarTitle":"Apagar","api":"DELETE https://api.vertracloud.app/v1/workspaces/{id}","href":"/pt-br/api-reference/endpoint/workspaces/delete"},{"group":"Membros","icon":"user-group","pages":[{"title":"Listar membros","sidebarTitle":"Listar","api":"GET https://api.vertracloud.app/v1/workspaces/{id}/members","href":"/pt-br/api-reference/endpoint/workspaces/members/list"},{"title":"Atualizar membro","sidebarTitle":"Atualizar","api":"PUT https://api.vertracloud.app/v1/workspaces/{id}/members/{user_id}","href":"/pt-br/api-reference/endpoint/workspaces/members/update"},{"title":"Remover membro","sidebarTitle":"Remover","api":"DELETE https://api.vertracloud.app/v1/workspaces/{id}/members/{user_id}","href":"/pt-br/api-reference/endpoint/workspaces/members/remove"}]},{"group":"Cargos","icon":"id-badge","pages":[{"title":"Listar papéis","sidebarTitle":"Listar","api":"GET https://api.vertracloud.app/v1/workspaces/{id}/roles","href":"/pt-br/api-reference/endpoint/workspaces/roles/list"},{"title":"Criar papel","sidebarTitle":"Criar","api":"POST https://api.vertracloud.app/v1/workspaces/{id}/roles","href":"/pt-br/api-reference/endpoint/workspaces/roles/create"},{"title":"Atualizar papel","sidebarTitle":"Atualizar","api":"PUT https://api.vertracloud.app/v1/workspaces/{id}/roles/{role_id}","href":"/pt-br/api-reference/endpoint/workspaces/roles/update"},{"title":"Apagar papel","sidebarTitle":"Apagar","api":"DELETE https://api.vertracloud.app/v1/workspaces/{id}/roles/{role_id}","href":"/pt-br/api-reference/endpoint/workspaces/roles/delete"}]},{"group":"Convites","icon":"envelope","pages":[{"title":"Listar convites","sidebarTitle":"Listar","api":"GET https://api.vertracloud.app/v1/workspaces/{id}/invites","href":"/pt-br/api-reference/endpoint/workspaces/invites/list"},{"title":"Revogar convite","sidebarTitle":"Revogar","api":"DELETE https://api.vertracloud.app/v1/workspaces/{id}/invites/{invite_id}","href":"/pt-br/api-reference/endpoint/workspaces/invites/revoke"},{"title":"Visualizar convite","sidebarTitle":"Visualizar","api":"GET https://api.vertracloud.app/v1/workspaces/invites/{token}","href":"/pt-br/api-reference/endpoint/workspaces/invites/preview"},{"title":"Aceitar convite","sidebarTitle":"Aceitar","api":"POST https://api.vertracloud.app/v1/workspaces/invites/{token}/accept","href":"/pt-br/api-reference/endpoint/workspaces/invites/accept"},{"title":"Recusar convite","sidebarTitle":"Recusar","api":"POST https://api.vertracloud.app/v1/workspaces/invites/{token}/decline","href":"/pt-br/api-reference/endpoint/workspaces/invites/decline"}]},{"group":"Aplicações e bancos","icon":"window-maximize","pages":[{"title":"Vincular aplicação","sidebarTitle":"Vincular app","api":"POST https://api.vertracloud.app/v1/workspaces/{id}/apps/{app_id}","href":"/pt-br/api-reference/endpoint/workspaces/links/add-app"},{"title":"Desvincular aplicação","sidebarTitle":"Desvincular app","api":"DELETE https://api.vertracloud.app/v1/workspaces/{id}/apps/{app_id}","href":"/pt-br/api-reference/endpoint/workspaces/links/remove-app"},{"title":"Vincular banco de dados","sidebarTitle":"Vincular banco de dados","api":"POST https://api.vertracloud.app/v1/workspaces/{id}/databases/{db_id}","href":"/pt-br/api-reference/endpoint/workspaces/links/add-database"},{"title":"Desvincular banco de dados","sidebarTitle":"Desvincular banco de dados","api":"DELETE https://api.vertracloud.app/v1/workspaces/{id}/databases/{db_id}","href":"/pt-br/api-reference/endpoint/workspaces/links/remove-database"},{"title":"Vincular template ou stack","sidebarTitle":"Vincular template ou stack","api":"POST https://api.vertracloud.app/v1/workspaces/{id}/templates/{template_id}","href":"/pt-br/api-reference/endpoint/workspaces/links/add-template"},{"title":"Desvincular template ou stack","sidebarTitle":"Desvincular template ou stack","api":"DELETE https://api.vertracloud.app/v1/workspaces/{id}/templates/{template_id}","href":"/pt-br/api-reference/endpoint/workspaces/links/remove-template"}]},{"group":"Organização de recursos","icon":"folder-tree","pages":[{"title":"Organização de recursos do workspace","sidebarTitle":"Pastas e favoritos","href":"/pt-br/api-reference/endpoint/workspaces/resource-organization"}]},{"group":"Solicitações de ação","icon":"square-check","pages":[{"title":"Listar solicitações de ação","sidebarTitle":"Listar","api":"GET https://api.vertracloud.app/v1/workspaces/{id}/action-requests","href":"/pt-br/api-reference/endpoint/workspaces/action-requests/list"},{"title":"Criar solicitação de ação","sidebarTitle":"Criar","api":"POST https://api.vertracloud.app/v1/workspaces/{id}/action-requests","href":"/pt-br/api-reference/endpoint/workspaces/action-requests/create"}]}]},{"group":"Cobrança","icon":"credit-card","pages":[{"title":"Listar pedidos","sidebarTitle":"Listar pedidos","api":"GET https://api.vertracloud.app/v1/orders","href":"/pt-br/api-reference/endpoint/billing/list-orders"},{"title":"Obter status do pedido","sidebarTitle":"Status do pedido","api":"GET https://api.vertracloud.app/v1/orders/{orderId}/status","href":"/pt-br/api-reference/endpoint/billing/order-status"},{"title":"Criar pedido","sidebarTitle":"Criar pedido","api":"POST https://api.vertracloud.app/v1/orders","href":"/pt-br/api-reference/endpoint/billing/create-order"},{"title":"Iniciar pagamento via PIX","sidebarTitle":"Iniciar PIX","api":"POST https://api.vertracloud.app/v1/orders/{orderId}/initiate/pix","href":"/pt-br/api-reference/endpoint/billing/initiate-pix"},{"title":"Obter dados de cobrança","sidebarTitle":"Obter dados de cobrança","api":"GET https://api.vertracloud.app/v1/users/me/billing","href":"/pt-br/api-reference/endpoint/billing/get-billing-details"},{"title":"Atualizar dados de cobrança","sidebarTitle":"Atualizar dados de cobrança","api":"PUT https://api.vertracloud.app/v1/users/me/billing","href":"/pt-br/api-reference/endpoint/billing/update-billing-details"}]},{"group":"Resgate","icon":"ticket","pages":[{"title":"Resgatar código","sidebarTitle":"Resgatar código","api":"POST https://api.vertracloud.app/v1/redeem/{code}","href":"/pt-br/api-reference/endpoint/redeem/redeem"}]}]}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/pt-br/changelog"}]}],"global":{"anchors":[{"anchor":"Documentação","icon":"book-open-cover","href":"https://docs.vertracloud.app/pt-br"},{"anchor":"Discord","icon":"discord","href":"https://discord.gg/vertracloud"},{"anchor":"Status","icon":"heart-pulse","href":"https://status.vertracloud.app"}]}},{"language":"es","navbar":{"links":[{"href":"mailto:[email protected]","label":"Soporte"}],"primary":{"type":"button","label":"Panel","href":"https://vertracloud.app/dashboard"}},"pages":[{"title":"es","href":"/es-es"}]}]},"basePath":"","title":"Adicionar domínio à aplicação - Vertra Cloud","buildId":"dpl_G9nrg4qeJSZtah1Ziwbc2n6WkLch","deploymentId":"dpl_G9nrg4qeJSZtah1Ziwbc2n6WkLch","dynamics":["c2aa737661","2b790eda92","b0f84f53ff"],"chunks":["OpenApiReferenceProvider-B7XKH4J3.js","utils-lOYzL7z-.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DF6jUUIM.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-Dpsj5f7C.js","snippetPresets-CYeiDe8v.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CUFz1YZ_.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-D8H_iLS4.js","shallow-DdluZBHX.js","getApiPlaygroundDisplay-B9922vev.js","CodeSnippet-CMoRNGYs.js","CodeSnippets-DwyrPHuw.js","Page-DSVu9Ucl.js","getPastedJson-G-zIvlHh.js","icon-B03fnEy0.js","MethodPill-CW7teklc.js","DuplicateIcon-CtO8eekd.js","createIcon-DZTKdM_A.js","DynamicMarkdown-D5M2At0B.js","SectionHeading-C_2NaA2U.js","axios-vUo_bRtp.js"]}