For the complete documentation index, see llms.txt. This page is also available as Markdown.

Projeto

Listar projetos

get

Lista os projetos acessíveis pelo usuário.

Authorizations
api-tokenstringRequired
Responses
200

Projetos listados com sucesso

application/json
objectOptional
get/projects
GET /v2/projects HTTP/1.1
Host: api.discloud.app
api-token: YOUR_API_KEY
Accept: */*
{
  "status": "ok",
  "message": "Projetos listados com sucesso",
  "data": [
    {
      "_id": "proj1719010867306",
      "name": "Meu Projeto",
      "teamID": null,
      "clusterName": "fenrir"
    }
  ]
}

Criar projeto

post

Cria um novo projeto. Requer plano compatível.

Authorizations
api-tokenstringRequired
Body
namestringRequired

Nome do projeto (máx. 50 caracteres)

descriptionstringOptional
iconstringOptional
teamIDstringOptional

Team a vincular (opcional)

fromAppIDsstring[]Optional
Responses
201

Projeto criado com sucesso

application/json
objectOptional
post/projects
POST /v2/projects HTTP/1.1
Host: api.discloud.app
api-token: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 61

{
  "name": "Meu Projeto",
  "description": "Ambiente de produção"
}
{
  "status": "ok",
  "message": "Projeto criado com sucesso",
  "data": {
    "_id": "proj1719010867306",
    "ownerID": "470638301895294976",
    "name": "Meu Projeto",
    "description": "Ambiente de produção",
    "teamID": null,
    "clusterName": "fenrir"
  }
}

Detalhes do projeto

get

Retorna os detalhes de um projeto, incluindo team e apps.

Authorizations
api-tokenstringRequired
Path parameters
projectIDstringRequired

ID do projeto

Responses
200

Projeto carregado com sucesso

application/json
objectOptional
get/projects/{projectID}
GET /v2/projects/{projectID} HTTP/1.1
Host: api.discloud.app
api-token: YOUR_API_KEY
Accept: */*
{
  "status": "ok",
  "message": "Projeto carregado com sucesso",
  "data": {
    "project": {
      "_id": "proj1719010867306",
      "name": "Meu Projeto",
      "memberRole": "owner"
    },
    "team": null,
    "apps": [
      {
        "_id": "1719010867306",
        "nameTAG": "Meu Bot"
      }
    ]
  }
}

Deletar projeto

delete

Remove um projeto. Os apps vinculados são desvinculados (não deletados).

Authorizations
api-tokenstringRequired
Path parameters
projectIDstringRequired

ID do projeto

Responses
200

Projeto deletado com sucesso

application/json
objectOptional
delete/projects/{projectID}
DELETE /v2/projects/{projectID} HTTP/1.1
Host: api.discloud.app
api-token: YOUR_API_KEY
Accept: */*
{
  "status": "ok",
  "message": "Projeto deletado com sucesso"
}

Atualizar projeto

patch

Atualiza nome, descrição e/ou ícone de um projeto.

Authorizations
api-tokenstringRequired
Path parameters
projectIDstringRequired

ID do projeto

Body
namestringOptional
descriptionstringOptional
iconstringOptional
Responses
200

Projeto atualizado com sucesso

application/json
objectOptional
patch/projects/{projectID}
PATCH /v2/projects/{projectID} HTTP/1.1
Host: api.discloud.app
api-token: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 28

{
  "name": "Projeto Renomeado"
}
{
  "status": "ok",
  "message": "Projeto atualizado com sucesso",
  "data": {
    "_id": "proj1719010867306",
    "name": "Projeto Renomeado"
  }
}

Vincular/desvincular team

patch

Vincula um team ao projeto (teamID) ou desvincula (teamID null). Apenas o dono do projeto.

Authorizations
api-tokenstringRequired
Path parameters
projectIDstringRequired

ID do projeto

Body
teamIDstring · nullableOptional

ID do team a vincular, ou null para desvincular

Responses
200

Team vinculado ou desvinculado com sucesso

application/json
objectOptional
patch/projects/{projectID}/team
PATCH /v2/projects/{projectID}/team HTTP/1.1
Host: api.discloud.app
api-token: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 30

{
  "teamID": "team1719010867306"
}
{
  "status": "ok",
  "message": "Team vinculado ao projeto com sucesso",
  "data": {
    "_id": "proj1719010867306",
    "teamID": "team1719010867306"
  }
}

Listar apps disponíveis

get

Lista os apps que podem ser adicionados ao projeto.

Authorizations
api-tokenstringRequired
Path parameters
projectIDstringRequired

ID do projeto

Responses
200

Apps disponíveis listados com sucesso

application/json
objectOptional
get/projects/{projectID}/apps
GET /v2/projects/{projectID}/apps HTTP/1.1
Host: api.discloud.app
api-token: YOUR_API_KEY
Accept: */*
{
  "status": "ok",
  "data": [
    {
      "_id": "1719010867306",
      "nameTAG": "Meu Bot",
      "clusterName": "fenrir"
    }
  ]
}

Adicionar/mover app ao projeto

put

Adiciona um app ao projeto. Se o cluster divergir, use migrate=true para migrar (resposta 202, migração assíncrona).

Authorizations
api-tokenstringRequired
Path parameters
projectIDstringRequired

ID do projeto

appIDstringRequired

ID da aplicação

Body
migratebooleanOptional

Se true, migra o app para o cluster do projeto

Responses
200

App adicionado ao projeto com sucesso

application/json
objectOptional
put/projects/{projectID}/apps/{appID}
PUT /v2/projects/{projectID}/apps/{appID} HTTP/1.1
Host: api.discloud.app
api-token: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 17

{
  "migrate": false
}
{
  "status": "ok",
  "message": "App adicionado ao projeto com sucesso",
  "data": {
    "_id": "1719010867306",
    "projectID": "proj1719010867306",
    "clusterName": "fenrir"
  }
}

Remover app do projeto

delete

Remove o app do projeto (define projectID null). O app não é deletado.

Authorizations
api-tokenstringRequired
Path parameters
projectIDstringRequired

ID do projeto

appIDstringRequired

ID da aplicação

Responses
200

App removido do projeto com sucesso

application/json
objectOptional
delete/projects/{projectID}/apps/{appID}
DELETE /v2/projects/{projectID}/apps/{appID} HTTP/1.1
Host: api.discloud.app
api-token: YOUR_API_KEY
Accept: */*
{
  "status": "ok",
  "message": "App removido do projeto com sucesso"
}

Última atualização