> For the complete documentation index, see [llms.txt](https://docs.discloud.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.discloud.com/api-and-integrations/api-overview/custom-domain.md).

# Domínio Personalizado

## Listar domínios customizados

> Retorna todos os domínios customizados do usuário autenticado.

```json
{"openapi":"3.0.4","info":{"title":"Discloud API","version":"2.0.0"},"tags":[{"name":"Domínios Customizados","description":"Operações sobre domínios customizados"}],"servers":[{"url":"https://api.discloud.app/v2","description":"Servidor API"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"api-token"}},"schemas":{"Error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}},"paths":{"/customdomain/all":{"get":{"tags":["Domínios Customizados"],"summary":"Listar domínios customizados","description":"Retorna todos os domínios customizados do usuário autenticado.","operationId":"listCustomDomains","responses":{"200":{"description":"Lista de domínios customizados retornada com sucesso","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomDomainListResponse"}}}},"401":{"description":"Erro de autenticação","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}}}
```

## Criar domínio customizado

> Cria um novo domínio customizado e vincula a um app.

```json
{"openapi":"3.0.4","info":{"title":"Discloud API","version":"2.0.0"},"tags":[{"name":"Domínios Customizados","description":"Operações sobre domínios customizados"}],"servers":[{"url":"https://api.discloud.app/v2","description":"Servidor API"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"api-token"}},"schemas":{"Error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}},"paths":{"/customdomain/create":{"post":{"tags":["Domínios Customizados"],"summary":"Criar domínio customizado","description":"Cria um novo domínio customizado e vincula a um app.","operationId":"createCustomDomain","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["domainName","appID"],"properties":{"domainName":{"type":"string","description":"Nome desejado para o domínio customizado"},"appID":{"type":"string","description":"ID do app para vincular"}}}}}},"responses":{"200":{"description":"Domínio customizado criado com sucesso","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomDomainResponse"}}}},"400":{"description":"Formato de domínio inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Erro de autenticação","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Limite do plano atingido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"App não encontrado","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Domínio já registrado ou app já possui domínio customizado","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Erro na API externa","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}}}
```

## Editar vínculo de domínio customizado

> Move um domínio customizado para outro app.

```json
{"openapi":"3.0.4","info":{"title":"Discloud API","version":"2.0.0"},"tags":[{"name":"Domínios Customizados","description":"Operações sobre domínios customizados"}],"servers":[{"url":"https://api.discloud.app/v2","description":"Servidor API"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"api-token"}},"schemas":{"Error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}},"paths":{"/customdomain/{domainName}/edit":{"put":{"tags":["Domínios Customizados"],"summary":"Editar vínculo de domínio customizado","description":"Move um domínio customizado para outro app.","operationId":"editCustomDomain","parameters":[{"name":"domainName","in":"path","required":true,"description":"Domínio customizado a ser movido","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["newAppID"],"properties":{"newAppID":{"type":"string","description":"Novo ID do app"}}}}}},"responses":{"200":{"description":"Domínio customizado editado com sucesso","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string"},"message":{"type":"string"},"migrated":{"type":"boolean"},"domain":{"type":"string"}}}}}},"400":{"description":"Operação inválida","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Erro de autenticação","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sem permissão","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Domínio ou app não encontrado","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"App já possui outro domínio customizado","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Erro na migração","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}}}
```

## Remover domínio customizado

> Remove um domínio customizado do usuário e desvincula do app.

```json
{"openapi":"3.0.4","info":{"title":"Discloud API","version":"2.0.0"},"tags":[{"name":"Domínios Customizados","description":"Operações sobre domínios customizados"}],"servers":[{"url":"https://api.discloud.app/v2","description":"Servidor API"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"api-token"}},"schemas":{"Error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}},"paths":{"/customdomain/{domainName}/remove":{"delete":{"tags":["Domínios Customizados"],"summary":"Remover domínio customizado","description":"Remove um domínio customizado do usuário e desvincula do app.","operationId":"removeCustomDomain","parameters":[{"name":"domainName","in":"path","required":true,"description":"Domínio customizado a ser removido","schema":{"type":"string"}}],"responses":{"200":{"description":"Domínio customizado removido com sucesso","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string"},"message":{"type":"string"},"domain":{"type":"string"}}}}}},"401":{"description":"Erro de autenticação","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sem permissão","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Domínio não encontrado","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Erro na API externa","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}}}
```

## Verificar DNS do domínio customizado

> Verifica o status DNS de um domínio customizado em tempo real.

```json
{"openapi":"3.0.4","info":{"title":"Discloud API","version":"2.0.0"},"tags":[{"name":"Domínios Customizados","description":"Operações sobre domínios customizados"}],"servers":[{"url":"https://api.discloud.app/v2","description":"Servidor API"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"api-token"}},"schemas":{"Error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}},"paths":{"/customdomain/{domainName}/verify":{"get":{"tags":["Domínios Customizados"],"summary":"Verificar DNS do domínio customizado","description":"Verifica o status DNS de um domínio customizado em tempo real.","operationId":"verifyCustomDomain","parameters":[{"name":"domainName","in":"path","required":true,"description":"Domínio customizado a ser verificado","schema":{"type":"string"}}],"responses":{"200":{"description":"Status DNS retornado com sucesso","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string"},"domain":{"$ref":"#/components/schemas/CustomDomain"}}}}}},"401":{"description":"Erro de autenticação","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sem permissão","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Domínio não encontrado","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Erro na API externa","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}}}
```
