LogoLogo
GitHubWebsite
  • Documentation
  • Client API
  • Application API
  • Client API
  • Authentication
  • Users
  • API Keys
  • Nodes
  • Allocations
  • Regions
  • Units
  • Servers
  • Cargo
  • Projects
  • System
  • Models
Powered by GitBook

© Argon Foundation

On this page

Was this helpful?

Export as PDF

Projects

PreviousCargoNextSystem

Was this helpful?

Get project

get

Get project details by ID

Authorizations
Path parameters
idstring · uuidRequired
Responses
200
Project details
application/json
403
Access denied
application/json
404
Project not found
application/json
500
Server error
application/json
get
GET /api/projects/{id} HTTP/1.1
Host: localhost:3000
Authorization: Bearer JWT
Accept: */*
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "name": "text",
  "description": "text",
  "userId": "123e4567-e89b-12d3-a456-426614174000",
  "serverCount": 1,
  "createdAt": "2025-05-20T01:53:17.208Z",
  "updatedAt": "2025-05-20T01:53:17.208Z"
}

Delete project

delete

Delete a project

Authorizations
Path parameters
idstring · uuidRequired
Responses
204
Project deleted successfully
400
Cannot delete default project
application/json
403
Access denied
application/json
404
Project not found
application/json
500
Server error
application/json
delete
DELETE /api/projects/{id} HTTP/1.1
Host: localhost:3000
Authorization: Bearer JWT
Accept: */*

No content

Get project servers

get

List all servers in a project

Authorizations
Path parameters
idstring · uuidRequired
Responses
200
List of servers in the project
application/json
403
Access denied
application/json
404
Project not found
application/json
500
Server error
application/json
get
GET /api/projects/{id}/servers HTTP/1.1
Host: localhost:3000
Authorization: Bearer JWT
Accept: */*
[
  {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "internalId": "text",
    "name": "text",
    "nodeId": "123e4567-e89b-12d3-a456-426614174000",
    "unitId": "123e4567-e89b-12d3-a456-426614174000",
    "userId": "123e4567-e89b-12d3-a456-426614174000",
    "allocationId": "123e4567-e89b-12d3-a456-426614174000",
    "memoryMiB": 1,
    "diskMiB": 1,
    "cpuPercent": 1,
    "state": "text",
    "status": {
      "state": "text"
    },
    "node": {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "name": "text",
      "fqdn": "text",
      "port": 1,
      "regionId": "123e4567-e89b-12d3-a456-426614174000",
      "isOnline": true,
      "lastChecked": "2025-05-20T01:53:17.208Z",
      "allocations": [
        {
          "id": "123e4567-e89b-12d3-a456-426614174000",
          "nodeId": "123e4567-e89b-12d3-a456-426614174000",
          "bindAddress": "text",
          "port": 1,
          "alias": "text",
          "notes": "text",
          "assigned": true,
          "serverId": "123e4567-e89b-12d3-a456-426614174000",
          "createdAt": "2025-05-20T01:53:17.208Z",
          "updatedAt": "2025-05-20T01:53:17.208Z"
        }
      ],
      "region": {
        "id": "123e4567-e89b-12d3-a456-426614174000",
        "name": "text",
        "identifier": "text",
        "countryId": "text",
        "fallbackRegionId": "123e4567-e89b-12d3-a456-426614174000",
        "serverLimit": 1,
        "stats": {
          "serverCount": 1,
          "nodeCount": 1,
          "onlineNodeCount": 1,
          "atCapacity": true
        },
        "nodes": [
          {
            "id": "123e4567-e89b-12d3-a456-426614174000",
            "name": "text",
            "fqdn": "text",
            "port": 1,
            "regionId": "123e4567-e89b-12d3-a456-426614174000",
            "isOnline": true,
            "lastChecked": "2025-05-20T01:53:17.208Z",
            "allocations": [
              {
                "id": "123e4567-e89b-12d3-a456-426614174000",
                "nodeId": "123e4567-e89b-12d3-a456-426614174000",
                "bindAddress": "text",
                "port": 1,
                "alias": "text",
                "notes": "text",
                "assigned": true,
                "serverId": "123e4567-e89b-12d3-a456-426614174000",
                "createdAt": "2025-05-20T01:53:17.208Z",
                "updatedAt": "2025-05-20T01:53:17.208Z"
              }
            ],
            "region": "[Circular Reference]",
            "createdAt": "2025-05-20T01:53:17.208Z",
            "updatedAt": "2025-05-20T01:53:17.208Z"
          }
        ],
        "createdAt": "2025-05-20T01:53:17.208Z",
        "updatedAt": "2025-05-20T01:53:17.208Z"
      },
      "createdAt": "2025-05-20T01:53:17.208Z",
      "updatedAt": "2025-05-20T01:53:17.208Z"
    },
    "unit": {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "name": "text",
      "shortName": "text",
      "description": "text",
      "dockerImages": [
        {
          "image": "text",
          "displayName": "text"
        }
      ],
      "defaultDockerImage": "text",
      "dockerImage": "text",
      "defaultStartupCommand": "text",
      "configFiles": [
        {
          "path": "text",
          "content": "text"
        }
      ],
      "environmentVariables": [
        {
          "name": "text",
          "description": "text",
          "defaultValue": "text",
          "required": true,
          "userViewable": true,
          "userEditable": true,
          "rules": "text"
        }
      ],
      "installScript": {
        "dockerImage": "text",
        "entrypoint": "text",
        "script": "text"
      },
      "startup": {
        "userEditable": true,
        "readyRegex": "text",
        "stopCommand": "text"
      },
      "features": [
        {
          "name": "text",
          "description": "text",
          "iconPath": "text",
          "type": "required",
          "uiData": {
            "component": "text",
            "props": {}
          }
        }
      ],
      "meta": {
        "version": "text",
        "author": "text",
        "website": "text",
        "supportUrl": "text"
      },
      "recommendedRequirements": {
        "memoryMiB": 1,
        "diskMiB": 1,
        "cpuPercent": 1
      },
      "createdAt": "2025-05-20T01:53:17.208Z",
      "updatedAt": "2025-05-20T01:53:17.208Z"
    },
    "allocation": {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "nodeId": "123e4567-e89b-12d3-a456-426614174000",
      "bindAddress": "text",
      "port": 1,
      "alias": "text",
      "notes": "text",
      "assigned": true,
      "serverId": "123e4567-e89b-12d3-a456-426614174000",
      "createdAt": "2025-05-20T01:53:17.208Z",
      "updatedAt": "2025-05-20T01:53:17.208Z"
    },
    "user": {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "username": "text",
      "permissions": [
        "text"
      ],
      "createdAt": "2025-05-20T01:53:17.208Z",
      "updatedAt": "2025-05-20T01:53:17.208Z"
    },
    "validationToken": "text",
    "projectId": "123e4567-e89b-12d3-a456-426614174000",
    "project": {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "name": "text",
      "description": "text",
      "userId": "123e4567-e89b-12d3-a456-426614174000",
      "serverCount": 1,
      "createdAt": "2025-05-20T01:53:17.208Z",
      "updatedAt": "2025-05-20T01:53:17.208Z"
    },
    "createdAt": "2025-05-20T01:53:17.208Z",
    "updatedAt": "2025-05-20T01:53:17.208Z"
  }
]

Move server to project

post

Move a server to a different project

Authorizations
Path parameters
projectIdstring · uuidRequired
serverIdstring · uuidRequired
Responses
200
Server moved successfully
application/json
403
Access denied
application/json
404
Project or server not found
application/json
500
Server error
application/json
post
POST /api/projects/{projectId}/servers/{serverId} HTTP/1.1
Host: localhost:3000
Authorization: Bearer JWT
Accept: */*
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "internalId": "text",
  "name": "text",
  "nodeId": "123e4567-e89b-12d3-a456-426614174000",
  "unitId": "123e4567-e89b-12d3-a456-426614174000",
  "userId": "123e4567-e89b-12d3-a456-426614174000",
  "allocationId": "123e4567-e89b-12d3-a456-426614174000",
  "memoryMiB": 1,
  "diskMiB": 1,
  "cpuPercent": 1,
  "state": "text",
  "status": {
    "state": "text"
  },
  "node": {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "name": "text",
    "fqdn": "text",
    "port": 1,
    "regionId": "123e4567-e89b-12d3-a456-426614174000",
    "isOnline": true,
    "lastChecked": "2025-05-20T01:53:17.208Z",
    "allocations": [
      {
        "id": "123e4567-e89b-12d3-a456-426614174000",
        "nodeId": "123e4567-e89b-12d3-a456-426614174000",
        "bindAddress": "text",
        "port": 1,
        "alias": "text",
        "notes": "text",
        "assigned": true,
        "serverId": "123e4567-e89b-12d3-a456-426614174000",
        "createdAt": "2025-05-20T01:53:17.208Z",
        "updatedAt": "2025-05-20T01:53:17.208Z"
      }
    ],
    "region": {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "name": "text",
      "identifier": "text",
      "countryId": "text",
      "fallbackRegionId": "123e4567-e89b-12d3-a456-426614174000",
      "serverLimit": 1,
      "stats": {
        "serverCount": 1,
        "nodeCount": 1,
        "onlineNodeCount": 1,
        "atCapacity": true
      },
      "nodes": [
        {
          "id": "123e4567-e89b-12d3-a456-426614174000",
          "name": "text",
          "fqdn": "text",
          "port": 1,
          "regionId": "123e4567-e89b-12d3-a456-426614174000",
          "isOnline": true,
          "lastChecked": "2025-05-20T01:53:17.208Z",
          "allocations": [
            {
              "id": "123e4567-e89b-12d3-a456-426614174000",
              "nodeId": "123e4567-e89b-12d3-a456-426614174000",
              "bindAddress": "text",
              "port": 1,
              "alias": "text",
              "notes": "text",
              "assigned": true,
              "serverId": "123e4567-e89b-12d3-a456-426614174000",
              "createdAt": "2025-05-20T01:53:17.208Z",
              "updatedAt": "2025-05-20T01:53:17.208Z"
            }
          ],
          "region": {
            "id": "123e4567-e89b-12d3-a456-426614174000",
            "name": "text",
            "identifier": "text",
            "countryId": "text",
            "fallbackRegionId": "123e4567-e89b-12d3-a456-426614174000",
            "serverLimit": 1,
            "stats": {
              "serverCount": 1,
              "nodeCount": 1,
              "onlineNodeCount": 1,
              "atCapacity": true
            },
            "nodes": "[Circular Reference]",
            "createdAt": "2025-05-20T01:53:17.208Z",
            "updatedAt": "2025-05-20T01:53:17.208Z"
          },
          "createdAt": "2025-05-20T01:53:17.208Z",
          "updatedAt": "2025-05-20T01:53:17.208Z"
        }
      ],
      "createdAt": "2025-05-20T01:53:17.208Z",
      "updatedAt": "2025-05-20T01:53:17.208Z"
    },
    "createdAt": "2025-05-20T01:53:17.208Z",
    "updatedAt": "2025-05-20T01:53:17.208Z"
  },
  "unit": {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "name": "text",
    "shortName": "text",
    "description": "text",
    "dockerImages": [
      {
        "image": "text",
        "displayName": "text"
      }
    ],
    "defaultDockerImage": "text",
    "dockerImage": "text",
    "defaultStartupCommand": "text",
    "configFiles": [
      {
        "path": "text",
        "content": "text"
      }
    ],
    "environmentVariables": [
      {
        "name": "text",
        "description": "text",
        "defaultValue": "text",
        "required": true,
        "userViewable": true,
        "userEditable": true,
        "rules": "text"
      }
    ],
    "installScript": {
      "dockerImage": "text",
      "entrypoint": "text",
      "script": "text"
    },
    "startup": {
      "userEditable": true,
      "readyRegex": "text",
      "stopCommand": "text"
    },
    "features": [
      {
        "name": "text",
        "description": "text",
        "iconPath": "text",
        "type": "required",
        "uiData": {
          "component": "text",
          "props": {}
        }
      }
    ],
    "meta": {
      "version": "text",
      "author": "text",
      "website": "text",
      "supportUrl": "text"
    },
    "recommendedRequirements": {
      "memoryMiB": 1,
      "diskMiB": 1,
      "cpuPercent": 1
    },
    "createdAt": "2025-05-20T01:53:17.208Z",
    "updatedAt": "2025-05-20T01:53:17.208Z"
  },
  "allocation": {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "nodeId": "123e4567-e89b-12d3-a456-426614174000",
    "bindAddress": "text",
    "port": 1,
    "alias": "text",
    "notes": "text",
    "assigned": true,
    "serverId": "123e4567-e89b-12d3-a456-426614174000",
    "createdAt": "2025-05-20T01:53:17.208Z",
    "updatedAt": "2025-05-20T01:53:17.208Z"
  },
  "user": {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "username": "text",
    "permissions": [
      "text"
    ],
    "createdAt": "2025-05-20T01:53:17.208Z",
    "updatedAt": "2025-05-20T01:53:17.208Z"
  },
  "validationToken": "text",
  "projectId": "123e4567-e89b-12d3-a456-426614174000",
  "project": {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "name": "text",
    "description": "text",
    "userId": "123e4567-e89b-12d3-a456-426614174000",
    "serverCount": 1,
    "createdAt": "2025-05-20T01:53:17.208Z",
    "updatedAt": "2025-05-20T01:53:17.208Z"
  },
  "createdAt": "2025-05-20T01:53:17.208Z",
  "updatedAt": "2025-05-20T01:53:17.208Z"
}
  • GETGet all projects
  • POSTCreate project
  • GETGet project
  • DELETEDelete project
  • PATCHUpdate project
  • GETGet project servers
  • POSTMove server to project

Get all projects

get

List all projects for the current user or specified user (admin)

Authorizations
Query parameters
userIdstring · uuidOptional

Filter projects by user ID (admin only)

Responses
200
List of projects
application/json
500
Server error
application/json
get
GET /api/projects HTTP/1.1
Host: localhost:3000
Authorization: Bearer JWT
Accept: */*
[
  {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "name": "text",
    "description": "text",
    "userId": "123e4567-e89b-12d3-a456-426614174000",
    "serverCount": 1,
    "createdAt": "2025-05-20T01:53:17.208Z",
    "updatedAt": "2025-05-20T01:53:17.208Z"
  }
]

Create project

post

Create a new project

Authorizations
Body
namestring · min: 1 · max: 100Required
descriptionstringOptional
Responses
201
Project created successfully
application/json
400
Invalid request
application/json
500
Server error
application/json
post
POST /api/projects HTTP/1.1
Host: localhost:3000
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 36

{
  "name": "text",
  "description": "text"
}
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "name": "text",
  "description": "text",
  "userId": "123e4567-e89b-12d3-a456-426614174000",
  "serverCount": 1,
  "createdAt": "2025-05-20T01:53:17.208Z",
  "updatedAt": "2025-05-20T01:53:17.208Z"
}

Update project

patch

Update project details

Authorizations
Path parameters
idstring · uuidRequired
Body
namestring · min: 1 · max: 100Optional
descriptionstring | nullableOptional
Responses
200
Project updated successfully
application/json
400
Invalid request
application/json
403
Access denied
application/json
404
Project not found
application/json
500
Server error
application/json
patch
PATCH /api/projects/{id} HTTP/1.1
Host: localhost:3000
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 36

{
  "name": "text",
  "description": "text"
}
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "name": "text",
  "description": "text",
  "userId": "123e4567-e89b-12d3-a456-426614174000",
  "serverCount": 1,
  "createdAt": "2025-05-20T01:53:17.208Z",
  "updatedAt": "2025-05-20T01:53:17.208Z"
}