Skip to content
Hoody.com

Projects are logical groupings for containers, networks, and resources. Use these endpoints to create projects, manage quotas, share access with other users, and inspect aggregated resource usage across a project’s containers.

List all projects you own or have permissions for. Results are paginated and sortable.

NameInTypeRequiredDescription
pagequerynumberNoPage number (1-based). Default: 1
limitquerynumberNoItems per page (max 100). Default: 10
sort_byquerystringNoField to sort by. Allowed: id, alias, created_at, updated_at. Default: "created_at"
sort_orderquerystringNoSort direction. Allowed: asc, desc. Default: "desc"
realm_idquerystringNoFilter by realm ID. Only returns projects that belong to this realm. Alternative to using realm subdomain in URL.
Terminal window
curl -X GET "https://api.hoody.icu/api/v1/projects/?page=1&limit=10&sort_by=created_at&sort_order=desc" \
-H "Authorization: Bearer <token>"

Create a new project to organize and manage your containers, networks, and resources.

This endpoint takes no parameters.

NameTypeRequiredDescription
aliasstringYesHuman-readable project name. Must be unique across your projects. Length: 1–100 characters.
colorstringNoHEX color code (3 or 6 digits). The # prefix is auto-added if missing, and the value is auto-normalized to uppercase. If not provided, a random color is generated.
max_containersnumber | nullNoMaximum number of containers allowed in this project. Set to null for unlimited. This quota is enforced during container creation. Minimum: 0.
realm_idsarrayNoRealm IDs to assign this project to. If you are creating from a realm subdomain, the subdomain realm is automatically included and merged with any explicitly provided realm_ids.
Terminal window
curl -X POST "https://api.hoody.icu/api/v1/projects/" \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"alias": "Production Environment",
"color": "#EF4444",
"max_containers": 100
}'

Retrieve detailed information about a specific project. Optionally include project permissions and associated user details.

NameInTypeRequiredDescription
idpathstringYesProject ID
include_permissionsquerybooleanNoInclude project permissions with user details in response. Default: false
Terminal window
curl -X GET "https://api.hoody.icu/api/v1/projects/507f1f77bcf86cd799439011?include_permissions=true" \
-H "Authorization: Bearer <token>"

Update a project’s alias, color, or quotas. You must be the owner or have edit permission.

NameInTypeRequiredDescription
idpathstringYesProject ID to update
NameTypeRequiredDescription
aliasstringYesNew project name. Must be unique across your projects. Length: 1–100 characters.
colorstringNoNew HEX color code. Auto-normalized to uppercase with # prefix.
max_containersnumber | nullNoMaximum number of containers allowed in this project. Set to null for unlimited. This quota is enforced during container creation. Minimum: 0.
realm_idsarrayNoUpdate realm membership for this project. If updating from a realm subdomain, the subdomain realm is automatically preserved and merged. Only unrestricted tokens and admin users can modify realm_ids.
Terminal window
curl -X PUT "https://api.hoody.icu/api/v1/projects/507f1f77bcf86cd799439011" \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"alias": "Production Environment Updated",
"color": "#EF4444",
"max_containers": 50
}'

Permanently delete a project and all associated resources. If deletion cannot be fully completed, the project remains available so you can retry safely. You must be the owner or have delete permission.

NameInTypeRequiredDescription
idpathstringYesProject ID to delete
include_deleted_itemsquerybooleanNoInclude a lightweight list of deleted container IDs/names in the response for confirmation UX. Default: false
Terminal window
curl -X DELETE "https://api.hoody.icu/api/v1/projects/507f1f77bcf86cd799439011?include_deleted_items=true" \
-H "Authorization: Bearer <token>"

List all users who have been granted access to this project with their permission levels. Supports pagination and sorting.

NameInTypeRequiredDescription
idpathstringYesProject ID
pagequerynumberNoPage number (1-based)
limitquerynumberNoItems per page
sort_byquerystringNoField to sort by. Allowed: id, user_id, permission_level, created_at, updated_at
sort_orderquerystringNoSort direction. Allowed: asc, desc
Terminal window
curl -X GET "https://api.hoody.icu/api/v1/projects/507f1f77bcf86cd799439011/permissions?page=1&limit=10" \
-H "Authorization: Bearer <token>"

Grant another user access to your project with a specific permission level. You must be the owner or have edit permission.

Permission levels:

  • read — view only
  • edit — modify resources
  • delete — destroy project
NameInTypeRequiredDescription
idpathstringYesProject ID
NameTypeRequiredDescription
user_idstringYesUser ID to grant access to
permission_levelstringYesAccess level. Allowed: read, edit, delete
Terminal window
curl -X POST "https://api.hoody.icu/api/v1/projects/507f1f77bcf86cd799439011/permissions" \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"user_id": "507f1f77bcf86cd799439044",
"permission_level": "edit"
}'

PUT /api/v1/projects/{id}/permissions/{permissionId}

Section titled “PUT /api/v1/projects/{id}/permissions/{permissionId}”

Change a user’s permission level for a project. You must be the owner or have edit permission.

NameInTypeRequiredDescription
idpathstringYesProject ID
permissionIdpathstringYesPermission ID to update
NameTypeRequiredDescription
permission_levelstringYesNew permission level. Allowed: read, edit, delete
Terminal window
curl -X PUT "https://api.hoody.icu/api/v1/projects/507f1f77bcf86cd799439011/permissions/507f1f77bcf86cd799439033" \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"permission_level": "edit"
}'

DELETE /api/v1/projects/{id}/permissions/{permissionId}

Section titled “DELETE /api/v1/projects/{id}/permissions/{permissionId}”

Revoke a user’s access to a project. The user will immediately lose all access. You must be the owner or have edit permission.

NameInTypeRequiredDescription
idpathstringYesProject ID
permissionIdpathstringYesPermission ID to remove
Terminal window
curl -X DELETE "https://api.hoody.icu/api/v1/projects/507f1f77bcf86cd799439011/permissions/507f1f77bcf86cd799439033" \
-H "Authorization: Bearer <token>"

Get aggregated resource usage statistics for all containers in a project. Returns stats for each container plus summary metadata with total counts and processing time.

NameInTypeRequiredDescription
idpathstringYesUnique identifier of the project
Terminal window
curl -X GET "https://api.hoody.icu/api/v1/projects/507f1f77bcf86cd799439011/stats" \
-H "Authorization: Bearer <token>"

These endpoints return live CPU, memory, disk, and network metrics for rented servers. Responses are served from a short-TTL cache so they can be polled frequently. First-party JWT only.

Get live runtime info for a rented physical server or subserver.

NameInTypeRequiredDescription
idpathstringYesRental identifier
Terminal window
curl -X GET "https://api.hoody.icu/api/v1/rentals/507f1f77bcf86cd799439011/runtime" \
-H "Authorization: Bearer <token>"

Alias for GET /rentals/:id/runtime. Returns the same payload and error codes as the rentals endpoint above.

NameInTypeRequiredDescription
idpathstringYesServer identifier
Terminal window
curl -X GET "https://api.hoody.icu/api/v1/servers/507f1f77bcf86cd799439011/runtime" \
-H "Authorization: Bearer <token>"